UX: move logs/watched_words to customize/watched_words in admin section (#12571)

https://meta.discourse.org/t/where-is-auto-tag-and-auto-replace/184261
This commit is contained in:
Arpit Jalan 2021-04-01 11:44:17 +05:30 committed by GitHub
parent c478ffc662
commit 61860098d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 88 additions and 81 deletions

View File

@ -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() {

View File

@ -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);

View File

@ -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]) {

View File

@ -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" });
}
);
}
);

View File

@ -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}}
<div class="admin-container">

View File

@ -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"}}

View File

@ -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;

View File

@ -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" },

View File

@ -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);

View File

@ -1198,7 +1198,7 @@ ca:
force_https_warning: "El vostre lloc web utilitza SSL. Però ` <a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https`</a> 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 <a href='%{base_path}/admin/logs/watched_words'>configuració de les paraules vigilades</a> 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 <a href='%{base_path}/admin/customize/watched_words'>configuració de les paraules vigilades</a> 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 &#9632;&#9632;&#9632;&#9632;"
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 <a href='%{base_url}/admin/logs/watched_words'>llista de paraules vigilades</a> ."
watched_word: "Aquesta publicació incloïa una paraula vigilada. Vegeu la vostra <a href='%{base_url}/admin/customize/watched_words'>llista de paraules vigilades</a> ."
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`."

View File

@ -1360,7 +1360,7 @@ de:
force_https_warning: "Deine Webseite verwendet SSL, aber die `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'> Einstellungen für beobachtete Wörter</a>, 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 <a href='%{base_path}/admin/customize/watched_words'> Einstellungen für beobachtete Wörter</a>, 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 &#9632;&#9632;&#9632;&#9632; 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 <a href='%{base_url}/admin/logs/watched_words'>Liste beobachteter Wörter</a>."
watched_word: "Dieser Beitrag enthielt ein beobachtetes Wort. Siehe deine <a href='%{base_url}/admin/customize/watched_words'>Liste beobachteter Wörter</a>."
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`. "

View File

@ -1442,7 +1442,7 @@ en:
force_https_warning: "Your website is using SSL. But `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>Watched Word settings</a>, 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 <a href='%{base_path}/admin/customize/watched_words'>Watched Word settings</a>, 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 <a href='%{base_url}/admin/logs/watched_words'>list of watched words</a>."
watched_word: "This post included a Watched Word. See your <a href='%{base_url}/admin/customize/watched_words'>list of watched words</a>."
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`."

View File

@ -1352,7 +1352,7 @@ es:
force_https_warning: "Tu sitio web está usando SSL. Pero «<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>» 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 <a href='%{base_path}/admin/logs/watched_words'>configuración de palabras vigiladas</a> 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 <a href='%{base_path}/admin/customize/watched_words'>configuración de palabras vigiladas</a> 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 &#9632;&#9632;&#9632;&#9632;"
@ -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 <a href='%{base_url}/admin/logs/watched_words'>lista de palabras observadas</a>."
watched_word: "Esta publicación incluye una palabra observada. Ver tu <a href='%{base_url}/admin/customize/watched_words'>lista de palabras observadas</a>."
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`."

View File

@ -1241,7 +1241,7 @@ fi:
force_https_warning: "Sivusto käyttää SSL-salausta, mutta `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>Tarkkaillut sanat -asetuksesi</a> 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 <a href='%{base_path}/admin/customize/watched_words'>Tarkkaillut sanat -asetuksesi</a> 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ä &#9632;&#9632;&#9632;&#9632;"
@ -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. <a href='%{base_url}/admin/logs/watched_words'>luettelo tarkkailemistanne sanoista</a>."
watched_word: "Viesti sisälsi \"tarkkaillun sanan\". Ks. <a href='%{base_url}/admin/customize/watched_words'>luettelo tarkkailemistanne sanoista</a>."
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`."

View File

@ -1342,7 +1342,7 @@ fr:
force_https_warning: "Votre site web utiliser le SSL. Mais `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>paramètres de mots surveillés</a> 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 <a href='%{base_path}/admin/customize/watched_words'>paramètres de mots surveillés</a> 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 &#9632;&#9632;&#9632;&#9632;"
@ -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 <a href='%{base_url}/admin/logs/watched_words'>liste de mots surveillés</a> ."
watched_word: "Ce message comprenait un mot surveillé. Voir votre <a href='%{base_url}/admin/customize/watched_words'>liste de mots surveillés</a> ."
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`."

View File

@ -1360,7 +1360,7 @@ gl:
force_https_warning: "O seu sitio web está a utilizar SSL, pero `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>configuración das palabras vixiadas</a> 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 <a href='%{base_path}/admin/customize/watched_words'>configuración das palabras vixiadas</a> 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 &#9632;&#9632;&#9632;&#9632;"
@ -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 <a href='%{base_url}/admin/logs/watched_words'>listaxe de palabras vixiadas</a>."
watched_word: "Esta publicación incluía unha palabra vixiada. Consulte a <a href='%{base_url}/admin/customize/watched_words'>listaxe de palabras vixiadas</a>."
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`."

View File

@ -1438,7 +1438,7 @@ he:
force_https_warning: "האתר שלך משתמש ב־SSL. אך `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` לא מופעל עדיין בהגדרות האתר שלך."
out_of_date_themes: "יש עדכונים זמינים לערכות העיצוב הבאות:"
unreachable_themes: "לא הצלחתי לבדוק אם יש עדכונים לערכות העיצוב הבאות:"
watched_word_regexp_error: "הביטוי הרגולרי למילים במעקב %{action} שגוי. נא לבדוק את <a href='%{base_path}/admin/logs/watched_words'>הגדרות המילים במעקב</a> או לנטרל את הגדרות האתר ‚ביטוי רגולרי למילים במעקב’."
watched_word_regexp_error: "הביטוי הרגולרי למילים במעקב %{action} שגוי. נא לבדוק את <a href='%{base_path}/admin/customize/watched_words'>הגדרות המילים במעקב</a> או לנטרל את הגדרות האתר ‚ביטוי רגולרי למילים במעקב’."
site_settings:
display_local_time_in_user_card: "להציג את הזמן המקומי בהתאם לאזור הזמן של המשתמש כאשר כרטיס המשתמש שלו נפתח."
censored_words: "מלים שיוחלפו אוטומטית ב־&#9632;&#9632;&#9632;&#9632;"
@ -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: "פוסט זה הכיל מילה במעקב. יש לעיין ב<a href='%{base_url}/admin/logs/watched_words'>רשימת המילים שבמעקב</a>."
watched_word: "פוסט זה הכיל מילה במעקב. יש לעיין ב<a href='%{base_url}/admin/customize/watched_words'>רשימת המילים שבמעקב</a>."
staged: "נושאים ופוסטים חדשים של משתמשים מבוימים חייבים לקבל את אישור הסגל. למידע נוסף `approve_unless_staged` (אישור אלמלא מבוים)."
category: "פוסטים בקטגוריה זו דורשים אימות ידני של הסגל. יש לעיין בהגדרות הקטגוריה."
must_approve_users: "כל המשתמשים החדשים חייבים לעבור את אישור הסגל. יש לעיין בנושא `must_approve_users` (חובת אישור משתמשים)."

View File

@ -1336,7 +1336,7 @@ it:
force_https_warning: "Il tuo sito web utilizza SSL. Ma ` <a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https`</a> 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 <a href='%{base_path}/admin/logs/watched_words'>impostazioni Parola Osservata</a>, 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 <a href='%{base_path}/admin/customize/watched_words'>impostazioni Parola Osservata</a>, o disabilita le impostazioni del sito 'espressioni regolari delle parole osservate'."
site_settings:
display_local_time_in_user_card: "Visualizza l&#39;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 &#9632;&#9632;&#9632;&#9632;"
@ -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 <a href='%{base_url}/admin/logs/watched_words'>elenco di parole monitorate</a> ."
watched_word: "Questo post include una parola monitorata. Guarda il tuo <a href='%{base_url}/admin/customize/watched_words'>elenco di parole monitorate</a> ."
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'."

View File

@ -1316,7 +1316,7 @@ ko:
force_https_warning: "귀하의 웹 사이트는 SSL을 사용하고 있습니다. 그러나 사이트 설정에서` <a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https`</a> 가 아직 활성화되어 있지 않습니다."
out_of_date_themes: "다음 테마에 대한 업데이트가 제공됩니다."
unreachable_themes: "다음 테마에 대한 업데이트를 확인할 수 없습니다."
watched_word_regexp_error: "시청 한 단어 %{action}의 정규식이 잘못되었습니다. <a href='%{base_path}/admin/logs/watched_words'>감시 단어 설정을</a> 확인하거나 &#39;감시 단어 정규식&#39;사이트 설정을 비활성화하십시오."
watched_word_regexp_error: "시청 한 단어 %{action}의 정규식이 잘못되었습니다. <a href='%{base_path}/admin/customize/watched_words'>감시 단어 설정을</a> 확인하거나 &#39;감시 단어 정규식&#39;사이트 설정을 비활성화하십시오."
site_settings:
display_local_time_in_user_card: "사용자 카드 페이지가 열릴 때 사용자의 시간대를 기준으로 현지 시간을 표시합니다."
censored_words: "단어는 자동적으로 `&#9632;&#9632;&#9632;&#9632;` 로 대체 됩니다."
@ -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: "이 게시물에는 감시 단어가 포함되어 있습니다. <a href='%{base_url}/admin/logs/watched_words'>본 단어 목록을</a> 참조하십시오."
watched_word: "이 게시물에는 감시 단어가 포함되어 있습니다. <a href='%{base_url}/admin/customize/watched_words'>본 단어 목록을</a> 참조하십시오."
staged: "단계별 사용자를위한 새로운 주제와 게시물은 직원의 승인을 받아야합니다. `approve_unless_staged`를 참조하십시오."
category: "이 카테고리의 게시물은 직원의 수동 승인이 필요합니다. 카테고리 설정을 참조하십시오."
must_approve_users: "모든 신규 사용자는 직원의 승인을 받아야합니다. `must_approve_users`를 참조하십시오."

View File

@ -1298,7 +1298,7 @@ nl:
force_https_warning: "Uw website gebruikt SSL, maar `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>Instellingen voor in de gaten gehouden woorden</a>, 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 <a href='%{base_path}/admin/customize/watched_words'>Instellingen voor in de gaten gehouden woorden</a>, 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 &#9632;&#9632;&#9632;&#9632; zullen worden vervangen"

View File

@ -1455,7 +1455,7 @@ pl_PL:
force_https_warning: "Twoja strona korzysta z SSL. Ale `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>Obserwowanego słowa</a> 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 <a href='%{base_path}/admin/customize/watched_words'>Obserwowanego słowa</a> 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 &#9632;&#9632;&#9632;&#9632;"
@ -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ę <a href='%{base_url}/admin/logs/watched_words'>obserwowanych słów</a>."
watched_word: "Ten post zawierał obserwowane słowo. Zobacz listę <a href='%{base_url}/admin/customize/watched_words'>obserwowanych słów</a>."
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`."

View File

@ -839,7 +839,7 @@ pt:
other: "A consulta automática de emails gerou %{count} erros nas últimas 24 horas. Consulte em <a href='%{base_path}/logs' target='_blank'>os registos</a> 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 <a href='%{base_path}/admin/site_settings/category/email'>configuração de POP3</a> 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 <a href='%{base_path}/admin/site_settings/category/email'>configuração de POP3</a>."
watched_word_regexp_error: "A expressão regular para %{action} palavras vigiadas é inválida. Verifique as suas <a href='%{base_path}/admin/logs/watched_words'>Configurações de Palavras Vigiadas</a> 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 <a href='%{base_path}/admin/customize/watched_words'>Configurações de Palavras Vigiadas</a> 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 &#9632;&#9632;&#9632;&#9632;"
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 <a href='%{base_url}/admin/logs/watched_words'>lista de palavras vigiadas</a>."
watched_word: "Este post incluiu uma Palavra Vigiada. Veja a sua <a href='%{base_url}/admin/customize/watched_words'>lista de palavras vigiadas</a>."
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:

View File

@ -1233,7 +1233,7 @@ pt_BR:
force_https_warning: "Seu site está usando SSL. Mas `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>configurações das Palavras Assistidas</a> 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 <a href='%{base_path}/admin/customize/watched_words'>configurações das Palavras Assistidas</a> 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 &#9632;&#9632;&#9632;&#9632;"
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 <a href='%{base_url}/admin/logs/watched_words'>lista de palavras observadas</a>."
watched_word: "Esta postagem incluiu uma Palavra Observada. Veja sua <a href='%{base_url}/admin/customize/watched_words'>lista de palavras observadas</a>."
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`."

View File

@ -1459,7 +1459,7 @@ ru:
force_https_warning: "Ваш сайт использует SSL. Но `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https`</a> ещё не включён в настройках вашего сайта."
out_of_date_themes: "Доступны обновления для следующих тем:"
unreachable_themes: "Нам не удалось проверить наличие обновлений для следующих тем:"
watched_word_regexp_error: "Недопустимое регулярное выражение для контролируемых слов %{action}. Пожалуйста, проверьте <a href='%{base_path}/admin/logs/watched_words'>настройки просматриваемого слова</a> или отключите в настройках сайта поддержку регулярных выражений для контролируемых слов."
watched_word_regexp_error: "Недопустимое регулярное выражение для контролируемых слов %{action}. Пожалуйста, проверьте <a href='%{base_path}/admin/customize/watched_words'>настройки просматриваемого слова</a> или отключите в настройках сайта поддержку регулярных выражений для контролируемых слов."
site_settings:
display_local_time_in_user_card: "Отображать местное время в карточке пользователя."
censored_words: "Слова, которые будут автоматически заменены на &#9632;&#9632;&#9632;&#9632;"
@ -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: "Это сообщение содержало контролируемые слова. См. <a href='%{base_url}/admin/logs/watched_words'>список контролируемых слов</a>."
watched_word: "Это сообщение содержало контролируемые слова. См. <a href='%{base_url}/admin/customize/watched_words'>список контролируемых слов</a>."
staged: "Новые темы и сообщения для сымитированных пользователей должны быть одобрены администрацией форума. См. параметр `approve_unless_staged`."
category: "Сообщения в этом разделе требуют предварительного одобрения администрацией форума. Смотрите настройки раздела."
must_approve_users: "Учётные записи всех новых пользователей должны быть одобрены администрацией форума. См. параметр `must_approve_users`."

View File

@ -1340,7 +1340,7 @@ sv:
force_https_warning: "Din webbplats använder SSL, men `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` 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 <a href='%{base_path}/admin/logs/watched_words'>inställningar för bevakade ord</a>, 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 <a href='%{base_path}/admin/customize/watched_words'>inställningar för bevakade ord</a>, 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 &#9632;&#9632;&#9632;&#9632;"
@ -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 <a href='%{base_url}/admin/logs/watched_words'>lista över bevakade ord</a>."
watched_word: "Detta inlägg innehåller ett bevakat ord. Se din <a href='%{base_url}/admin/customize/watched_words'>lista över bevakade ord</a>."
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`."

View File

@ -1220,7 +1220,7 @@ tr_TR:
force_https_warning: "Web siteniz SSL kullanıyor. Ancak site ayarlarınızda ` <a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https`</a> 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 <a href='%{base_path}/admin/logs/watched_words'>İzlenen Kelime ayarlarınızı</a> 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 <a href='%{base_path}/admin/customize/watched_words'>İzlenen Kelime ayarlarınızı</a> kontrol edin veya 'izlenen kelimeler normal ifadeler' site ayarını devre dışı bırakın."
site_settings:
censored_words: "kelime yerine otomatik olarak &#9632;&#9632;&#9632;&#9632; 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ı. <a href='%{base_url}/admin/logs/watched_words'>İzlenen kelimeler listenize</a> bakın."
watched_word: "Bu gönderide İzlenen Bir Kelime vardı. <a href='%{base_url}/admin/customize/watched_words'>İzlenen kelimeler listenize</a> 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`."

View File

@ -1453,7 +1453,7 @@ uk:
force_https_warning: "Ваш веб-сайт використовує SSL. Але `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` ще не ввімкнено в налаштуваннях вашого сайту."
out_of_date_themes: "Оновлення доступні для таких тем:"
unreachable_themes: "Нам не вдалося перевірити наявність оновлень за наступними темами:"
watched_word_regexp_error: "Регулярний вираз для %{action} контрольованих слів недійсний. Будь ласка, перевірте свої налаштування <a href='%{base_path}/admin/logs/watched_words'>контрольовані слова</a> або вимкніть налаштування веб-сайту \"Регулярні вирази контрольованих слів\"."
watched_word_regexp_error: "Регулярний вираз для %{action} контрольованих слів недійсний. Будь ласка, перевірте свої налаштування <a href='%{base_path}/admin/customize/watched_words'>контрольовані слова</a> або вимкніть налаштування веб-сайту \"Регулярні вирази контрольованих слів\"."
site_settings:
display_local_time_in_user_card: "Відображення локального часу на основі часового поясу користувача під час відкриття картки користувача."
censored_words: "Слова, які будуть автоматично замінені на &#9632;&#9632;&#9632;&#9632;"
@ -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: "Ця публікація включена \"Спостережним словом\". Дивіться ваш <a href='%{base_url}/admin/logs/watched_words'>список спостережень слів</a>."
watched_word: "Ця публікація включена \"Спостережним словом\". Дивіться ваш <a href='%{base_url}/admin/customize/watched_words'>список спостережень слів</a>."
staged: "Нові теми та публікації для проміжних користувачів повинні бути затверджені персоналом. Дивіться `approve_unless_staged`."
category: "Дописи в цій категорії вимагають ручного схвалення персоналом. Дивіться налаштування категорії."
must_approve_users: "Всіх нових користувачів потрібно схвалити персоналом. Дивіться `must_approve_users`."

View File

@ -1158,7 +1158,7 @@ ur:
force_https_warning: "آپ کی ویب سائٹ SSL استعمال کر رہی ہے۔ لیکن `<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>` ابھی تک آپ کی سائٹ ترتیبات میں فعال نہیں ہے۔"
out_of_date_themes: "مندرجہ ذیل تِھیمز کیلئے اَپ ڈیٹس دستیاب ہیں:"
unreachable_themes: "ہم مندرجہ ذیل تِھیمز کیلئے اپ ڈیٹس کو چیک نہ کر سکے:"
watched_word_regexp_error: "%{action} دیکھے ہوئے الفاظ کیلئے رَیگولر اَیکسپرَیشَن غلط ہے۔ براہ کرم اپنے <a href='%{base_path}/admin/logs/watched_words'>دیکھے ہوئے الفاظ کی ترتیبات</a> کو چیک کریں، یا 'دیکھے ہوئے الفاظ رَیگولر اَیکسپرَیشَن' سائٹ ترتیب کو غیر فعال کریں۔"
watched_word_regexp_error: "%{action} دیکھے ہوئے الفاظ کیلئے رَیگولر اَیکسپرَیشَن غلط ہے۔ براہ کرم اپنے <a href='%{base_path}/admin/customize/watched_words'>دیکھے ہوئے الفاظ کی ترتیبات</a> کو چیک کریں، یا 'دیکھے ہوئے الفاظ رَیگولر اَیکسپرَیشَن' سائٹ ترتیب کو غیر فعال کریں۔"
site_settings:
censored_words: "الفاظ جو خود بخود &#9632;&#9632;&#9632;&#9632; سے تبدیل ہوجائیں گے"
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: "اِس پوسٹ میں ایک نظر رکھا ہوا لفظ شامل ہے۔ اپنی <a href='%{base_url}/admin/logs/watched_words'>نظر رکھے ہوئے الفاظ کی فہرست</a> دیکھیے۔"
watched_word: "اِس پوسٹ میں ایک نظر رکھا ہوا لفظ شامل ہے۔ اپنی <a href='%{base_url}/admin/customize/watched_words'>نظر رکھے ہوئے الفاظ کی فہرست</a> دیکھیے۔"
staged: "سٹَیجڈ صارفین کیلئے نئے ٹاپکس اور پوسٹس کو سٹاف کی طرف سے منظور کیا جانا ضروری ہے۔ دیکھیے `approve_unless_staged`۔"
category: "اِس زُمرہ میں پوسٹس کو سٹاف کی طرف سے دستی منظوری کی ضرورت ہوتی ہے۔ زُمرہ کی ترتیبات دیکھیے۔"
must_approve_users: "تمام نئے صارفین کو سٹاف کی طرف سے منظور کیا جانا ضروری ہے۔ دیکھیے `must_approve_users`۔"

View File

@ -1310,7 +1310,7 @@ zh_CN:
force_https_warning: "你的网站使用了SSL。但是你的网站设置中尚未启用`<a href='%{base_path}/admin/site_settings/category/all_results?filter=force_https'>force_https</a>`。"
out_of_date_themes: "以下主题有更新:"
unreachable_themes: "我们无法检查以下主题的更新:"
watched_word_regexp_error: "捕获敏感词 %{action} 的正则表达式无效。请检查你的<a href='%{base_path}/admin/logs/watched_words'>敏感词设置</a>,或禁用“敏感词正则表达式”网站设置。"
watched_word_regexp_error: "捕获敏感词 %{action} 的正则表达式无效。请检查你的<a href='%{base_path}/admin/customize/watched_words'>敏感词设置</a>,或禁用“敏感词正则表达式”网站设置。"
site_settings:
display_local_time_in_user_card: "打开用户卡片时,根据用户的时区显示本地时间。"
censored_words: "将被自动替换为 &#9632;&#9632;&#9632;&#9632;"
@ -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: "此帖子包含一个敏感词。参阅<a href='%{base_url}/admin/logs/watched_words'>敏感词列表</a>"
watched_word: "此帖子包含一个敏感词。参阅<a href='%{base_url}/admin/customize/watched_words'>敏感词列表</a>"
staged: "暂存用户的新主题和帖子必须由管理员批准。参阅`approve_unless_staged`。"
category: "此分类的帖子需要管理员批准。查看分类设置。"
must_approve_users: "所有新用户需由管理员批准。参阅`must_approve_users`。"

View File

@ -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

View File

@ -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)