FEATURE: Bundle discourse-spoiler-alert plugin into core (#24030)

* FEATURE: Bundle discourse-spoiler-alert plugin into core

Formerly https://github.com/discourse/discourse-spoiler-alert

* DEV: Switch to new addComposerToolbarPopupMenuOption plugin API

`api.addToolbarPopupMenuOptionsCallback` has been deprecated in 913fd3a7b3

This commit was just added to the plugin, so adding it here.

49f86ba72e
This commit is contained in:
Blake Erickson 2023-10-23 13:50:43 -06:00 committed by GitHub
parent b0e0b657b4
commit 89580ee379
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
109 changed files with 1415 additions and 0 deletions

1
.gitignore vendored
View File

@ -42,6 +42,7 @@
!/plugins/chat/
!/plugins/poll/
!/plugins/styleguide
!/plugins/spoiler-alert/
!/plugins/checklist/
!/plugins/footnote/
/plugins/*/auto_generated/

View File

@ -0,0 +1,41 @@
# discourse-spoiler-alert
https://meta.discourse.org/t/discourse-spoiler-alert/12650/
Spoiler plugin for [Discourse](http://discourse.org) highly inspired by the [spoiler-alert](http://joshbuddy.github.io/spoiler-alert/) jQuery plugin.
## Usage
In your posts, surround text or images with `[spoiler]` ... `[/spoiler]`.
For example:
```
I watched the murder mystery on TV last night. [spoiler]The butler did it[/spoiler].
```
## Installation
- Add the plugin's repo url to your container's `app.yml` file
```yml
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git
```
- Rebuild the container
```
cd /var/discourse
git pull
./launcher rebuild app
```
## License
MIT

View File

@ -0,0 +1,58 @@
import { withPluginApi } from "discourse/lib/plugin-api";
import {
addBlockDecorateCallback,
addTagDecorateCallback,
} from "discourse/lib/to-markdown";
import applySpoiler from "discourse/plugins/discourse-spoiler-alert/lib/apply-spoiler";
function spoil(element) {
element.querySelectorAll(".spoiler").forEach((spoiler) => {
spoiler.classList.remove("spoiler");
spoiler.classList.add("spoiled");
applySpoiler(spoiler);
});
}
export function initializeSpoiler(api) {
api.decorateCookedElement(spoil, { id: "spoiler-alert" });
api.addComposerToolbarPopupMenuOption({
icon: "magic",
label: "spoiler.title",
action: (toolbarEvent) => {
toolbarEvent.applySurround("[spoiler]", "[/spoiler]", "spoiler_text", {
multiline: false,
useBlockMode: true,
});
},
});
addTagDecorateCallback(function () {
if (this.element.attributes.class === "spoiled") {
this.prefix = "[spoiler]";
this.suffix = "[/spoiler]";
}
});
addBlockDecorateCallback(function (text) {
const { name, attributes } = this.element;
if (name === "div" && attributes.class === "spoiled") {
this.prefix = "[spoiler]";
this.suffix = "[/spoiler]";
return text.trim();
}
});
}
export default {
name: "spoiler-alert",
initialize(container) {
const siteSettings = container.lookup("site-settings:main");
if (siteSettings.spoiler_enabled) {
withPluginApi("1.15.0", initializeSpoiler);
}
},
};

View File

@ -0,0 +1,101 @@
import I18n from "discourse-i18n";
const INTERACTIVE_SELECTOR = [
"a",
"area",
"audio",
"button",
"details",
"embed",
"iframe",
"img.animated",
"input",
"map",
"object",
"option",
"portal",
"select",
"textarea",
"track",
"video",
".lightbox",
].join(", ");
function isInteractive(event) {
return event.defaultPrevented || event.target.closest(INTERACTIVE_SELECTOR);
}
function noTextSelected() {
return window.getSelection() + "" === "";
}
function setAttributes(element, attributes) {
Object.entries(attributes).forEach(([key, value]) => {
if (value === null) {
element.removeAttribute(key);
} else {
element.setAttribute(key, value);
}
});
}
function _setSpoilerHidden(element) {
const spoilerHiddenAttributes = {
role: "button",
tabindex: "0",
"data-spoiler-state": "blurred",
"aria-expanded": false,
"aria-label": I18n.t("spoiler.label.show"),
"aria-live": "polite",
};
// Set default attributes & classes on spoiler
setAttributes(element, spoilerHiddenAttributes);
element.classList.add("spoiler-blurred");
// Set aria-hidden for all children of the spoiler
Array.from(element.children).forEach((e) => {
e.setAttribute("aria-hidden", true);
});
}
function _setSpoilerVisible(element) {
const spoilerVisibleAttributes = {
"data-spoiler-state": "revealed",
"aria-expanded": true,
"aria-label": null,
role: null,
};
// Set attributes & classes for when spoiler is visible
setAttributes(element, spoilerVisibleAttributes);
element.classList.remove("spoiler-blurred");
// Remove aria-hidden for all children of the spoiler when visible
Array.from(element.children).forEach((e) => {
e.removeAttribute("aria-hidden");
});
}
function toggleSpoiler(event, element) {
if (element.getAttribute("data-spoiler-state") === "blurred") {
_setSpoilerVisible(element);
event.preventDefault();
} else if (!isInteractive(event) && noTextSelected()) {
_setSpoilerHidden(element);
}
}
export default function applySpoiler(element) {
_setSpoilerHidden(element);
element.addEventListener("click", (event) => {
toggleSpoiler(event, element);
});
element.addEventListener("keydown", (event) => {
if (event.key === "Enter") {
toggleSpoiler(event, element);
}
});
}

View File

@ -0,0 +1,46 @@
const CONTAINS_BLOCK_REGEX = /\n|<img|!\[[^\]]*\][(\[]/;
function insertSpoiler(_, spoiler) {
const element = CONTAINS_BLOCK_REGEX.test(spoiler) ? "div" : "span";
return `<${element} class='spoiler'>${spoiler}</${element}>`;
}
function replaceSpoilers(text) {
text = text || "";
while (
text !==
(text = text.replace(
/\[spoiler\]((?:(?!\[spoiler\]|\[\/spoiler\])[\S\s])*)\[\/spoiler\]/gi,
insertSpoiler
))
) {}
return text;
}
function setupMarkdownIt(helper) {
helper.registerOptions((opts, siteSettings) => {
opts.features["spoiler-alert"] = !!siteSettings.spoiler_enabled;
});
helper.registerPlugin((md) => {
md.inline.bbcode.ruler.push("spoiler", {
tag: "spoiler",
wrap: "span.spoiler",
});
md.block.bbcode.ruler.push("spoiler", {
tag: "spoiler",
wrap: "div.spoiler",
});
});
}
export function setup(helper) {
helper.allowList(["span.spoiler", "div.spoiler"]);
if (helper.markdownIt) {
setupMarkdownIt(helper);
} else {
helper.addPreProcessor(replaceSpoilers);
}
}

View File

@ -0,0 +1,54 @@
.spoiled {
cursor: auto;
-webkit-transform: translateZ(0); // Safari jitter fix
.lightbox .meta {
display: none;
}
svg {
vertical-align: middle;
}
}
.spoiler-blurred {
@include unselectable;
cursor: pointer;
filter: blur(0.5em);
a,
area,
audio,
button,
details,
embed,
iframe,
img.animated,
input,
map,
object,
option,
portal,
select,
textarea,
track,
video,
.lightbox {
pointer-events: none;
}
img {
filter: blur(1em);
}
.discourse-no-touch & {
&:hover,
&:focus {
filter: blur(0.18em);
img {
filter: blur(0.5em);
}
}
}
}

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ar:
js:
spoiler:
title: تنبيه بالتمويه
label:
show: "إظهار المحتوى المخفي"
composer:
spoiler_text: "سيتم تمويه هذا النص"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
be:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bg:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bs_BA:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ca:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
cs:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
da:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
de:
js:
spoiler:
title: Spoiler unkenntlich machen
label:
show: "Zeige ausgeblendeten Inhalt"
composer:
spoiler_text: "Dieser Text wird unkenntlich gemacht"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
el:

View File

@ -0,0 +1,8 @@
en:
js:
spoiler:
title: Blur Spoiler
label:
show: "Show hidden content"
composer:
spoiler_text: "This text will be blurred"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
en_GB:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
es:
js:
spoiler:
title: Spoiler Borroso
label:
show: "Mostrar contenido oculto"
composer:
spoiler_text: "Este texto será borroso"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
et:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fa_IR:
js:
spoiler:
label:
show: "نمایش محتوای پنهان"

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fi:
js:
spoiler:
title: Spoileri
label:
show: "Näytä piilotettu sisältö"
composer:
spoiler_text: "Tämä teksti sumennetaan"

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fr:
js:
spoiler:
title: Flouter le texte
label:
show: "Afficher le contenu masqué"
composer:
spoiler_text: "Ce texte sera flouté"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
gl:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
he:
js:
spoiler:
title: טשטוש קלקלן
label:
show: "הצגת תוכן מוסתר"
composer:
spoiler_text: "טקסט זה יטושטש"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hr:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hu:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hy:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
id:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
it:
js:
spoiler:
title: Rendi illeggibile spoiler
label:
show: "Mostra contenuti nascosti"
composer:
spoiler_text: "Questo testo verrà reso illeggibile"

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ja:
js:
spoiler:
title: ネタバレをぼかす
label:
show: "非表示のコンテンツを表示する"
composer:
spoiler_text: "このテキストはぼかし表示されます"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ko:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
lt:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
lv:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
nb_NO:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
nl:
js:
spoiler:
title: Spoiler vervagen
label:
show: "Verborgen inhoud weergeven"
composer:
spoiler_text: "Deze tekst wordt vervaagd"

View File

@ -0,0 +1,10 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pl_PL:
js:
composer:
spoiler_text: "Ten tekst zostanie zamazany"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pt:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pt_BR:
js:
spoiler:
title: Dificuldador de desfoque
label:
show: "Exibir conteúdo oculto"
composer:
spoiler_text: "Este texto será desfocado"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ro:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ru:
js:
spoiler:
title: Размыть спойлер
label:
show: "Показать скрытый контент"
composer:
spoiler_text: "Этот текст будет размыт"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sk:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sl:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sq:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sr:

View File

@ -0,0 +1,12 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sv:
js:
spoiler:
title: Blurra spoiler
composer:
spoiler_text: "Denna text kommer att blurras"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sw:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
te:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
th:

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
tr_TR:
js:
spoiler:
title: Spoiler'ı Bulanıklaştır
label:
show: "Gizli içeriği göster"
composer:
spoiler_text: "Bu metin bulanıklaştırılacak"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
uk:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ur:

View File

@ -0,0 +1,12 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
vi:
js:
spoiler:
title: Làm Mờ Spoiler
composer:
spoiler_text: "Đoạn text này sẽ được làm mờ"

View File

@ -0,0 +1,14 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
zh_CN:
js:
spoiler:
title: 剧透打码
label:
show: "显示隐藏内容"
composer:
spoiler_text: "此文本将被打码"

View File

@ -0,0 +1,12 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
zh_TW:
js:
spoiler:
title: 模糊化劇透
composer:
spoiler_text: "這段文字會被模糊化"

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ar:
site_settings:
spoiler_enabled: 'تفعيل المكوِّن الإضافي للتمويه. إذا غيَّرت هذا الإعداد، فيجب عليك إعادة إنشاء جميع المنشورات باستخدام: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "تنبيه"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
be:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bg:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
bs_BA:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ca:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
cs:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
da:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
de:
site_settings:
spoiler_enabled: 'Aktiviert das Spoiler-Plug-in. Wenn du dies änderst, musst du alle Beiträge mit folgendem Befehl aktualisieren: „rake posts:rebake“'
spoiler_alert:
excerpt_spoiler: "Spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
el:

View File

@ -0,0 +1,5 @@
en:
site_settings:
spoiler_enabled: 'Enable the spoiler plugin. If you change this, you must rebake all posts with: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
en_GB:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
es:
site_settings:
spoiler_enabled: 'Habilitar plugin de Spoiler. Si cambias esto, debes hacer un rebake para todas las publicaciones con: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
et:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fa_IR:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fi:
site_settings:
spoiler_enabled: 'Ota spoilerilisäosa käyttöön. Jos muutat asetusta, sinun täytyy rakentaa viestit uudelleen komennolla: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "spoileri"

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
fr:
site_settings:
spoiler_enabled: 'Activer l''extension spoiler. Si vous modifiez ceci, vous devez exécuter la commande « rake posts:rebake ».'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
gl:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
he:
site_settings:
spoiler_enabled: 'הפעלת תוסף הקלקלן. שינוי של הגדרה זו יאלץ אותך לאפות את כל הפוסטים מחדש עם: „rake posts:rebake”.'
spoiler_alert:
excerpt_spoiler: "קלקלן"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hr:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hu:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
hy:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
id:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
it:
site_settings:
spoiler_enabled: 'Abilita il plugin spoiler. Se modifichi questa opzione devi aggiornare tutti i messaggi con: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ja:
site_settings:
spoiler_enabled: 'スポイラープラグインを有効にします。これを変更すると、"rake posts:rebake" で、すべての投稿をリベイクする必要があります。'
spoiler_alert:
excerpt_spoiler: "ネタバレ"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ko:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
lt:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
lv:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
nb_NO:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
nl:
site_settings:
spoiler_enabled: 'Spoiler-plug-in inschakelen. Als je dit wijzigt, moet je alle berichten opnieuw opbouwen met: ''rake posts:rebake''.'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pl_PL:

View File

@ -0,0 +1,9 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pt:
site_settings:
spoiler_enabled: 'Activar o plugin "spoiler". Se alterar, terá de fazer "rebake" de todos os tópicos com "rake posts:rebake".'

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
pt_BR:
site_settings:
spoiler_enabled: 'Ative o plugin dificuldador. Se mudar isso, você deve recompilar todas as postagens com: "rake posts:rebake"'
spoiler_alert:
excerpt_spoiler: "Dificultador"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ro:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ru:
site_settings:
spoiler_enabled: 'Включить плагин для спойлеров. После изменения этой настройки нужно обновить все записи командой «rake posts:rebake».'
spoiler_alert:
excerpt_spoiler: "спойлер"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sk:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sl:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sq:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sr:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sv:
site_settings:
spoiler_enabled: 'Aktivera spoiler-plugin. Om du senare ändrar detta måste du arbeta om alla inlägg med: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
sw:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
te:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
th:

View File

@ -0,0 +1,11 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
tr_TR:
site_settings:
spoiler_enabled: 'Spoiler eklentisini etkinleştirin. Bunu değiştirirseniz tüm gönderileri şu şekilde yeniden oluşturmalısınız: "rake posts:rebake".'
spoiler_alert:
excerpt_spoiler: "spoiler"

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
uk:

View File

@ -0,0 +1,7 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
ur:

View File

@ -0,0 +1,9 @@
# WARNING: Never edit this file.
# It will be overwritten when translations are pulled from Crowdin.
#
# To work with us on translations, join this project:
# https://translate.discourse.org/
vi:
site_settings:
spoiler_enabled: 'Bật spoiler plugin. Nếu bạn thay đổi điều này, bạn cần phải rebake toàn bộ bài viết bằng câu lệnh: "rake posts:rebake".'

Some files were not shown because too many files have changed in this diff Show More