From 56df98574572d56886ae8c14b0b6c434e5707edc Mon Sep 17 00:00:00 2001
From: John Livingston <38844060+JohnXLivingston@users.noreply.github.com>
Date: Fri, 14 Jul 2023 19:15:30 +0200
Subject: [PATCH] Documentation translation (#199)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Documentation translation using weblate.
* Use po4a to generate .po files from the english markdowns, then to generate translated files
* Some pages can be marked as «english only» (for technical documentation for example)
* New Hugo shortcode to use application strings in documentation (for example for settings names)
* The code of conduct is no more translated, but there is a link to official Contributor Covenant translations
* Adding all plugin's supported languages
Related to https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/117
---
.github/workflows/gh-pages.yml | 8 +-
.gitignore | 5 +-
.gitlab-ci.yml | 19 +-
CHANGELOG.md | 2 +
doc-generate-missing-translations.sh | 32 -
doc-translate.sh | 129 +
package.json | 6 +-
support/documentation/config.toml | 169 +-
support/documentation/content/_index.de.md | 7 -
support/documentation/content/_index.fr.md | 7 -
support/documentation/content/_index.ja.md | 7 -
.../content/contact/_index.de.md | 12 -
.../content/contact/_index.fr.md | 10 -
.../content/contact/_index.ja.md | 10 -
.../content/contributing/_index.de.md | 10 -
.../content/contributing/_index.fr.md | 10 -
.../content/contributing/_index.ja.md | 10 -
.../contributing/codeofconduct/_index.de.md | 146 -
.../contributing/codeofconduct/_index.fr.md | 135 -
.../contributing/codeofconduct/_index.ja.md | 91 -
.../content/contributing/develop/_index.de.md | 134 -
.../content/contributing/develop/_index.fr.md | 143 -
.../content/contributing/develop/_index.ja.md | 10 -
.../contributing/document/_index.de.md | 64 -
.../contributing/document/_index.en.md | 65 -
.../contributing/document/_index.fr.md | 78 -
.../contributing/document/_index.ja.md | 10 -
.../contributing/feedback/_index.de.md | 11 -
.../contributing/feedback/_index.en.md | 11 -
.../contributing/feedback/_index.fr.md | 9 -
.../contributing/feedback/_index.ja.md | 10 -
.../contributing/translate/_index.de.md | 10 -
.../contributing/translate/_index.fr.md | 88 -
.../contributing/translate/_index.ja.md | 10 -
.../content/credits/_index.de.md | 24 -
.../content/credits/_index.fr.md | 25 -
.../content/credits/_index.ja.md | 24 -
.../content/documentation/_index.de.md | 8 -
.../content/documentation/_index.en.md | 8 -
.../content/documentation/_index.fr.md | 8 -
.../content/documentation/_index.ja.md | 8 -
.../content/documentation/admin/_index.de.md | 8 -
.../content/documentation/admin/_index.en.md | 8 -
.../content/documentation/admin/_index.fr.md | 8 -
.../content/documentation/admin/_index.ja.md | 8 -
.../documentation/admin/advanced/_index.de.md | 8 -
.../documentation/admin/advanced/_index.en.md | 8 -
.../documentation/admin/advanced/_index.fr.md | 8 -
.../documentation/admin/advanced/_index.ja.md | 8 -
.../admin/advanced/matterbridge.de.md | 8 -
.../admin/advanced/matterbridge.fr.md | 10 -
.../admin/advanced/matterbridge.ja.md | 10 -
.../admin/advanced/xmpp_clients.de.md | 10 -
.../admin/advanced/xmpp_clients.fr.md | 216 --
.../admin/advanced/xmpp_clients.ja.md | 10 -
.../documentation/admin/settings.de.md | 214 --
.../documentation/admin/settings.en.md | 210 --
.../documentation/admin/settings.fr.md | 10 -
.../documentation/admin/settings.ja.md | 10 -
.../documentation/installation/_index.de.md | 18 -
.../documentation/installation/_index.fr.md | 18 -
.../documentation/installation/_index.ja.md | 83 -
.../installation/cpu_compatibility.de.md | 59 -
.../installation/cpu_compatibility.fr.md | 70 -
.../installation/cpu_compatibility.ja.md | 10 -
.../installation/upgrade_before_6.0.0.de.md | 14 -
.../installation/upgrade_before_6.0.0.fr.md | 14 -
.../installation/upgrade_before_6.0.0.ja.md | 10 -
.../content/documentation/user/_index.de.md | 8 -
.../content/documentation/user/_index.en.md | 8 -
.../content/documentation/user/_index.fr.md | 8 -
.../content/documentation/user/_index.ja.md | 8 -
.../documentation/user/moderation.de.md | 20 -
.../documentation/user/moderation.fr.md | 10 -
.../documentation/user/moderation.ja.md | 10 -
.../content/documentation/user/obs.de.md | 34 -
.../content/documentation/user/obs.fr.md | 10 -
.../content/documentation/user/obs.ja.md | 10 -
.../documentation/user/xmpp_clients.de.md | 10 -
.../documentation/user/xmpp_clients.fr.md | 47 -
.../documentation/user/xmpp_clients.ja.md | 10 -
.../content/{_index.en.md => en/_index.md} | 1 +
.../_index.en.md => en/contact/_index.md} | 12 +-
.../contributing/_index.md} | 12 +-
.../en/contributing/codeofconduct/_index.md | 14 +
.../contributing/develop/_index.md} | 21 +-
.../en/contributing/document/_index.md | 98 +
.../en/contributing/feedback/_index.md | 9 +
.../contributing/translate/_index.md} | 53 +-
.../_index.en.md => en/credits/_index.md} | 17 +-
.../content/en/documentation/_index.md | 8 +
.../content/en/documentation/admin/_index.md | 8 +
.../en/documentation/admin/advanced/_index.md | 8 +
.../admin/advanced/matterbridge.md} | 12 +-
.../admin/advanced/xmpp_clients.md} | 71 +-
.../en/documentation/admin/settings.md | 159 +
.../documentation/installation/_index.md} | 12 +-
.../installation/cpu_compatibility.md} | 38 +-
.../installation/upgrade_before_6.0.0.md} | 12 +-
.../content/en/documentation/user/_index.md | 8 +
.../documentation/user/moderation.md} | 12 +-
.../documentation/user/obs.md} | 12 +-
.../documentation/user/xmpp_clients.md} | 12 +-
.../content/{ => en}/images/chat.png | Bin
.../content/{ => en}/images/fullscreen.png | Bin
.../content/{ => en}/images/share_button.png | Bin
.../{ => en}/images/share_xmpp_dialog.png | Bin
.../_index.en.md => en/intro/_index.md} | 17 +-
.../_index.en.md => en/issues/_index.md} | 14 +-
.../content/en/technical/_index.md | 9 +
.../technical/thirdparty/_index.md} | 13 +-
.../documentation/content/intro/_index.de.md | 20 -
.../documentation/content/intro/_index.fr.md | 20 -
.../documentation/content/intro/_index.ja.md | 20 -
.../documentation/content/issues/_index.de.md | 15 -
.../documentation/content/issues/_index.fr.md | 15 -
.../documentation/content/issues/_index.ja.md | 15 -
.../content/technical/_index.de.md | 10 -
.../content/technical/_index.en.md | 8 -
.../content/technical/_index.fr.md | 10 -
.../content/technical/_index.ja.md | 10 -
.../content/technical/thirdparty/_index.de.md | 10 -
.../content/technical/thirdparty/_index.fr.md | 10 -
.../content/technical/thirdparty/_index.ja.md | 10 -
.../shortcodes/livechat_codeofconduct.html} | 7 -
.../layouts/shortcodes/livechat_label.html | 2 +
support/documentation/po/livechat.ar.po | 2076 +++++++++++++
support/documentation/po/livechat.ca.po | 2076 +++++++++++++
support/documentation/po/livechat.cs.po | 2077 +++++++++++++
support/documentation/po/livechat.de.po | 2183 ++++++++++++++
support/documentation/po/livechat.el.po | 2077 +++++++++++++
support/documentation/po/livechat.en.pot | 2077 +++++++++++++
support/documentation/po/livechat.eo.po | 2077 +++++++++++++
support/documentation/po/livechat.es.po | 2077 +++++++++++++
support/documentation/po/livechat.eu.po | 2076 +++++++++++++
support/documentation/po/livechat.fa.po | 2076 +++++++++++++
support/documentation/po/livechat.fi.po | 2077 +++++++++++++
support/documentation/po/livechat.fr.po | 2565 +++++++++++++++++
support/documentation/po/livechat.gd.po | 2076 +++++++++++++
support/documentation/po/livechat.gl.po | 2076 +++++++++++++
support/documentation/po/livechat.hr.po | 2077 +++++++++++++
support/documentation/po/livechat.hu.po | 2077 +++++++++++++
support/documentation/po/livechat.is.po | 2076 +++++++++++++
support/documentation/po/livechat.it.po | 2077 +++++++++++++
support/documentation/po/livechat.ja.po | 2097 ++++++++++++++
support/documentation/po/livechat.kab.po | 2076 +++++++++++++
support/documentation/po/livechat.nb.po | 2077 +++++++++++++
support/documentation/po/livechat.nl.po | 2077 +++++++++++++
support/documentation/po/livechat.nn.po | 2077 +++++++++++++
support/documentation/po/livechat.oc.po | 2076 +++++++++++++
support/documentation/po/livechat.pl.po | 2077 +++++++++++++
support/documentation/po/livechat.pt.po | 2077 +++++++++++++
support/documentation/po/livechat.ru.po | 2077 +++++++++++++
support/documentation/po/livechat.sq.po | 2076 +++++++++++++
support/documentation/po/livechat.sv.po | 2077 +++++++++++++
support/documentation/po/livechat.th.po | 2076 +++++++++++++
support/documentation/po/livechat.tok.po | 2076 +++++++++++++
support/documentation/po/livechat.uk.po | 2077 +++++++++++++
support/documentation/po/livechat.vi.po | 2077 +++++++++++++
support/documentation/po/livechat.zh-Hans.po | 2076 +++++++++++++
support/documentation/po/livechat.zh-Hant.po | 2076 +++++++++++++
161 files changed, 74117 insertions(+), 2866 deletions(-)
delete mode 100644 doc-generate-missing-translations.sh
create mode 100644 doc-translate.sh
delete mode 100644 support/documentation/content/_index.de.md
delete mode 100644 support/documentation/content/_index.fr.md
delete mode 100644 support/documentation/content/_index.ja.md
delete mode 100644 support/documentation/content/contact/_index.de.md
delete mode 100644 support/documentation/content/contact/_index.fr.md
delete mode 100644 support/documentation/content/contact/_index.ja.md
delete mode 100644 support/documentation/content/contributing/_index.de.md
delete mode 100644 support/documentation/content/contributing/_index.fr.md
delete mode 100644 support/documentation/content/contributing/_index.ja.md
delete mode 100644 support/documentation/content/contributing/codeofconduct/_index.de.md
delete mode 100644 support/documentation/content/contributing/codeofconduct/_index.fr.md
delete mode 100644 support/documentation/content/contributing/codeofconduct/_index.ja.md
delete mode 100644 support/documentation/content/contributing/develop/_index.de.md
delete mode 100644 support/documentation/content/contributing/develop/_index.fr.md
delete mode 100644 support/documentation/content/contributing/develop/_index.ja.md
delete mode 100644 support/documentation/content/contributing/document/_index.de.md
delete mode 100644 support/documentation/content/contributing/document/_index.en.md
delete mode 100644 support/documentation/content/contributing/document/_index.fr.md
delete mode 100644 support/documentation/content/contributing/document/_index.ja.md
delete mode 100644 support/documentation/content/contributing/feedback/_index.de.md
delete mode 100644 support/documentation/content/contributing/feedback/_index.en.md
delete mode 100644 support/documentation/content/contributing/feedback/_index.fr.md
delete mode 100644 support/documentation/content/contributing/feedback/_index.ja.md
delete mode 100644 support/documentation/content/contributing/translate/_index.de.md
delete mode 100644 support/documentation/content/contributing/translate/_index.fr.md
delete mode 100644 support/documentation/content/contributing/translate/_index.ja.md
delete mode 100644 support/documentation/content/credits/_index.de.md
delete mode 100644 support/documentation/content/credits/_index.fr.md
delete mode 100644 support/documentation/content/credits/_index.ja.md
delete mode 100644 support/documentation/content/documentation/_index.de.md
delete mode 100644 support/documentation/content/documentation/_index.en.md
delete mode 100644 support/documentation/content/documentation/_index.fr.md
delete mode 100644 support/documentation/content/documentation/_index.ja.md
delete mode 100644 support/documentation/content/documentation/admin/_index.de.md
delete mode 100644 support/documentation/content/documentation/admin/_index.en.md
delete mode 100644 support/documentation/content/documentation/admin/_index.fr.md
delete mode 100644 support/documentation/content/documentation/admin/_index.ja.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/_index.de.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/_index.en.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/_index.fr.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/_index.ja.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/matterbridge.de.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/matterbridge.fr.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/matterbridge.ja.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/xmpp_clients.de.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/xmpp_clients.fr.md
delete mode 100644 support/documentation/content/documentation/admin/advanced/xmpp_clients.ja.md
delete mode 100644 support/documentation/content/documentation/admin/settings.de.md
delete mode 100644 support/documentation/content/documentation/admin/settings.en.md
delete mode 100644 support/documentation/content/documentation/admin/settings.fr.md
delete mode 100644 support/documentation/content/documentation/admin/settings.ja.md
delete mode 100644 support/documentation/content/documentation/installation/_index.de.md
delete mode 100644 support/documentation/content/documentation/installation/_index.fr.md
delete mode 100644 support/documentation/content/documentation/installation/_index.ja.md
delete mode 100644 support/documentation/content/documentation/installation/cpu_compatibility.de.md
delete mode 100644 support/documentation/content/documentation/installation/cpu_compatibility.fr.md
delete mode 100644 support/documentation/content/documentation/installation/cpu_compatibility.ja.md
delete mode 100644 support/documentation/content/documentation/installation/upgrade_before_6.0.0.de.md
delete mode 100644 support/documentation/content/documentation/installation/upgrade_before_6.0.0.fr.md
delete mode 100644 support/documentation/content/documentation/installation/upgrade_before_6.0.0.ja.md
delete mode 100644 support/documentation/content/documentation/user/_index.de.md
delete mode 100644 support/documentation/content/documentation/user/_index.en.md
delete mode 100644 support/documentation/content/documentation/user/_index.fr.md
delete mode 100644 support/documentation/content/documentation/user/_index.ja.md
delete mode 100644 support/documentation/content/documentation/user/moderation.de.md
delete mode 100644 support/documentation/content/documentation/user/moderation.fr.md
delete mode 100644 support/documentation/content/documentation/user/moderation.ja.md
delete mode 100644 support/documentation/content/documentation/user/obs.de.md
delete mode 100644 support/documentation/content/documentation/user/obs.fr.md
delete mode 100644 support/documentation/content/documentation/user/obs.ja.md
delete mode 100644 support/documentation/content/documentation/user/xmpp_clients.de.md
delete mode 100644 support/documentation/content/documentation/user/xmpp_clients.fr.md
delete mode 100644 support/documentation/content/documentation/user/xmpp_clients.ja.md
rename support/documentation/content/{_index.en.md => en/_index.md} (81%)
rename support/documentation/content/{contact/_index.en.md => en/contact/_index.md} (81%)
rename support/documentation/content/{contributing/_index.en.md => en/contributing/_index.md} (53%)
create mode 100644 support/documentation/content/en/contributing/codeofconduct/_index.md
rename support/documentation/content/{contributing/develop/_index.en.md => en/contributing/develop/_index.md} (95%)
create mode 100644 support/documentation/content/en/contributing/document/_index.md
create mode 100644 support/documentation/content/en/contributing/feedback/_index.md
rename support/documentation/content/{contributing/translate/_index.en.md => en/contributing/translate/_index.md} (69%)
rename support/documentation/content/{credits/_index.en.md => en/credits/_index.md} (71%)
create mode 100644 support/documentation/content/en/documentation/_index.md
create mode 100644 support/documentation/content/en/documentation/admin/_index.md
create mode 100644 support/documentation/content/en/documentation/admin/advanced/_index.md
rename support/documentation/content/{documentation/admin/advanced/matterbridge.en.md => en/documentation/admin/advanced/matterbridge.md} (54%)
rename support/documentation/content/{documentation/admin/advanced/xmpp_clients.en.md => en/documentation/admin/advanced/xmpp_clients.md} (82%)
create mode 100644 support/documentation/content/en/documentation/admin/settings.md
rename support/documentation/content/{documentation/installation/_index.en.md => en/documentation/installation/_index.md} (77%)
rename support/documentation/content/{documentation/installation/cpu_compatibility.en.md => en/documentation/installation/cpu_compatibility.md} (71%)
rename support/documentation/content/{documentation/installation/upgrade_before_6.0.0.en.md => en/documentation/installation/upgrade_before_6.0.0.md} (70%)
create mode 100644 support/documentation/content/en/documentation/user/_index.md
rename support/documentation/content/{documentation/user/moderation.en.md => en/documentation/user/moderation.md} (87%)
rename support/documentation/content/{documentation/user/obs.en.md => en/documentation/user/obs.md} (91%)
rename support/documentation/content/{documentation/user/xmpp_clients.en.md => en/documentation/user/xmpp_clients.md} (93%)
rename support/documentation/content/{ => en}/images/chat.png (100%)
rename support/documentation/content/{ => en}/images/fullscreen.png (100%)
rename support/documentation/content/{ => en}/images/share_button.png (100%)
rename support/documentation/content/{ => en}/images/share_xmpp_dialog.png (100%)
rename support/documentation/content/{intro/_index.en.md => en/intro/_index.md} (58%)
rename support/documentation/content/{issues/_index.en.md => en/issues/_index.md} (69%)
create mode 100644 support/documentation/content/en/technical/_index.md
rename support/documentation/content/{technical/thirdparty/_index.en.md => en/technical/thirdparty/_index.md} (98%)
delete mode 100644 support/documentation/content/intro/_index.de.md
delete mode 100644 support/documentation/content/intro/_index.fr.md
delete mode 100644 support/documentation/content/intro/_index.ja.md
delete mode 100644 support/documentation/content/issues/_index.de.md
delete mode 100644 support/documentation/content/issues/_index.fr.md
delete mode 100644 support/documentation/content/issues/_index.ja.md
delete mode 100644 support/documentation/content/technical/_index.de.md
delete mode 100644 support/documentation/content/technical/_index.en.md
delete mode 100644 support/documentation/content/technical/_index.fr.md
delete mode 100644 support/documentation/content/technical/_index.ja.md
delete mode 100644 support/documentation/content/technical/thirdparty/_index.de.md
delete mode 100644 support/documentation/content/technical/thirdparty/_index.fr.md
delete mode 100644 support/documentation/content/technical/thirdparty/_index.ja.md
rename support/documentation/{content/contributing/codeofconduct/_index.en.md => layouts/shortcodes/livechat_codeofconduct.html} (98%)
create mode 100644 support/documentation/layouts/shortcodes/livechat_label.html
create mode 100644 support/documentation/po/livechat.ar.po
create mode 100644 support/documentation/po/livechat.ca.po
create mode 100644 support/documentation/po/livechat.cs.po
create mode 100644 support/documentation/po/livechat.de.po
create mode 100644 support/documentation/po/livechat.el.po
create mode 100644 support/documentation/po/livechat.en.pot
create mode 100644 support/documentation/po/livechat.eo.po
create mode 100644 support/documentation/po/livechat.es.po
create mode 100644 support/documentation/po/livechat.eu.po
create mode 100644 support/documentation/po/livechat.fa.po
create mode 100644 support/documentation/po/livechat.fi.po
create mode 100644 support/documentation/po/livechat.fr.po
create mode 100644 support/documentation/po/livechat.gd.po
create mode 100644 support/documentation/po/livechat.gl.po
create mode 100644 support/documentation/po/livechat.hr.po
create mode 100644 support/documentation/po/livechat.hu.po
create mode 100644 support/documentation/po/livechat.is.po
create mode 100644 support/documentation/po/livechat.it.po
create mode 100644 support/documentation/po/livechat.ja.po
create mode 100644 support/documentation/po/livechat.kab.po
create mode 100644 support/documentation/po/livechat.nb.po
create mode 100644 support/documentation/po/livechat.nl.po
create mode 100644 support/documentation/po/livechat.nn.po
create mode 100644 support/documentation/po/livechat.oc.po
create mode 100644 support/documentation/po/livechat.pl.po
create mode 100644 support/documentation/po/livechat.pt.po
create mode 100644 support/documentation/po/livechat.ru.po
create mode 100644 support/documentation/po/livechat.sq.po
create mode 100644 support/documentation/po/livechat.sv.po
create mode 100644 support/documentation/po/livechat.th.po
create mode 100644 support/documentation/po/livechat.tok.po
create mode 100644 support/documentation/po/livechat.uk.po
create mode 100644 support/documentation/po/livechat.vi.po
create mode 100644 support/documentation/po/livechat.zh-Hans.po
create mode 100644 support/documentation/po/livechat.zh-Hant.po
diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
index 92191801..f8bfe667 100644
--- a/.github/workflows/gh-pages.yml
+++ b/.github/workflows/gh-pages.yml
@@ -8,19 +8,25 @@ on:
jobs:
deploy:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
+ - name: Install po4a
+ run: sudo apt update && sudo apt install po4a -y
+
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.80.0'
# extended: true
+ - name: Generate documentation translations
+ run: bash ./doc-translate.sh
+
- name: Build
run: hugo --minify --baseURL='https://johnxlivingston.github.io/peertube-plugin-livechat' -s support/documentation
diff --git a/.gitignore b/.gitignore
index c9ab5bbd..620aaab2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,7 @@ dist
.vscode
build
support/documentation/public
-public
+support/documentation/po/po4a.conf
+support/documentation/content/translations/**/*.md
+support/documentation/i18n
+public
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d1613ea8..3437a3ed 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,12 +1,29 @@
-image: monachus/hugo
+stages:
+ - build
+ - deploy
+
+builddoctranslations:
+ stage: build
+ image: debian:stable
+ script:
+ - apt update && apt install po4a -y
+ - bash ./doc-translate.sh
+ artifacts:
+ paths:
+ - support/documentation/i18n/
+ - support/documentation/content/translations/
pages:
+ stage: deploy
+ image: registry.gitlab.com/pages/hugo/hugo_extended:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_SUBMODULE_PATHS: support/documentation/themes/hugo-theme-learn
script:
# gitlab need the generated documentation to be in the /public dir.
- hugo -s support/documentation/ -d ../../public/ --baseURL='https://livingston.frama.io/peertube-plugin-livechat/'
+ dependencies:
+ - builddoctranslations
artifacts:
paths:
- public
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f41a6d7e..9343aa69 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@
### Minor changes and fixes
* Translation updates.
+* Documentation can now also be translated using [Weblate](https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/).
+* Documentation can use hugo shortcode livechat_label to get application strings.
## 7.1.0
diff --git a/doc-generate-missing-translations.sh b/doc-generate-missing-translations.sh
deleted file mode 100644
index 0b4b33b8..00000000
--- a/doc-generate-missing-translations.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-set -euo pipefail
-
-function getLangs() {
- grep -P '\[Languages.\w+\]' support/documentation/config.toml | sed -E 's/^.*\.(\w+)\].*$/\1/' | grep -v en
-}
-
-function createMissingFile() {
- source_file=$1
- wanted_file=$2
- echo " creating $wanted_file from $source_file"
- # getting everything between +++ and +++:
- sed -n '/\+\+\+/,/\+\+\+/p' "$source_file" > "$wanted_file"
- # Adding the warning notice:
- echo "
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}" >> "$wanted_file"
-}
-
-find support/documentation/content -name '*.en.md' | while read source_file; do
- echo "File $source_file:"
- getLangs | while read lang; do
- wanted_file=$(echo "$source_file" | sed -E "s/.en.md\$/.$lang.md/")
- if test -f $wanted_file; then
- echo " File $wanted_file OK"
- else
- createMissingFile "$source_file" "$wanted_file"
- fi
- done
-done
diff --git a/doc-translate.sh b/doc-translate.sh
new file mode 100644
index 00000000..7f539190
--- /dev/null
+++ b/doc-translate.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+
+set -euo pipefail
+
+po4afile="support/documentation/po/po4a.conf"
+build_pot_in_folder="build/documentation/pot_in"
+ignore_pattern='^#*\s*\{\{%\s*livechat_label[^\}]+\s*\}\}\s*$'
+
+# Is po4a new enough?
+function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }
+required_version='0.66'
+current_version=$(po4a --version | sed -En 's,po4a version ([0-9][0-9.]+[0-9]).*,\1,p')
+if version_gt "$required_version" "$current_version"; then
+ echo "ERROR: po4a v$required_version or higher required. Current version: $current_version"
+ exit 1
+fi
+
+mkdir -p $build_pot_in_folder
+mkdir -p "support/documentation/i18n/"
+
+function getLangs() {
+ grep -P '\[Languages\..+\]' support/documentation/config.toml | sed -E 's/^.*\.(.+)\].*$/\1/' | grep -v en
+}
+
+function generatePo4aConf() {
+ echo "Creating $po4afile file..."
+ echo "" > $po4afile
+
+ # First, list all existing langs, from the config.toml file:
+ echo -n "[po4a_langs] " >> $po4afile
+ getLangs | while read lang; do
+ echo -n "$lang " >> $po4afile
+ done
+ echo "" >> $po4afile
+
+ # po4a_paths:
+ echo "[po4a_paths] support/documentation/po/livechat.en.pot \$lang:support/documentation/po/livechat.\$lang.po" >> $po4afile
+
+ # options:
+ echo -n "[options] " >> $po4afile
+ echo -n 'opt:"--addendum-charset=UTF-8" ' >> $po4afile
+ echo -n 'opt:"--localized-charset=UTF-8" ' >> $po4afile
+ echo -n 'opt:"--master-charset=UTF-8" ' >> $po4afile
+ echo -n 'opt:"--master-language=en_US" ' >> $po4afile
+ echo -n 'opt:"--msgmerge-opt=--no-wrap" ' >> $po4afile
+ echo -n 'opt:"--porefs=file" ' >> $po4afile
+ echo -n 'opt:"--wrap-po=newlines" ' >> $po4afile
+ echo -n 'opt:"--package-name=peertube-plugin-livechat-documentation" ' >> $po4afile
+
+ echo "" >> $po4afile
+
+ # Markdown related options:
+ echo -n '[po4a_alias:markdown] text ' >> $po4afile
+ echo -n 'opt:"--option markdown" ' >> $po4afile
+ # keys from the «Front Matter» section to translate:
+ echo -n 'opt:"--option yfm_keys=title,description" ' >> $po4afile
+ # dont wrap lines:
+ echo -n 'opt:"--option neverwrap" ' >> $po4afile
+
+ # handling hugo directive (when full line). For example: {{% notice tip %}}, {{% children %}}, ...
+ echo -n 'opt:"--option breaks=' >> $po4afile
+ echo -n "'" >> $po4afile
+ echo -n '^\{\{%.*%\}\}$' >> $po4afile
+ echo -n "'" >> $po4afile
+ echo -n '" ' >> $po4afile
+
+ echo -n 'opt:"--addendum-charset=UTF-8" ' >> $po4afile
+ echo -n 'opt:"--localized-charset=UTF-8" ' >> $po4afile
+ echo -n 'opt:"--master-charset=UTF-8" ' >> $po4afile
+ # generate translation even if incomplete:
+ echo -n 'opt:"--keep=0" ' >> $po4afile
+ echo "" >> $po4afile
+ echo "" >> $po4afile
+
+ # We must now list all english files to translate:
+ find support/documentation/content/en/ -name '*.md' | sort | while read source_file; do
+ target_file=$(echo "$source_file" | sed -E "s/\/content\/en\//\/content\/translations\/\$lang\//")
+
+ echo -n '[type: markdown] ' >> $po4afile
+ echo -n $source_file >> $po4afile
+ echo -n " " >> $po4afile
+
+ # Some files have strings to ignore. For example, when the whole line/title is using the livechat_label shortcode.
+ # To do so, we will use the pot_in option (see https://po4a.org/man/man1/po4a.1.php).
+ # We are generating a filtered file, that will be used.
+ # There is also a special case:
+ # If the file Yaml Font Matter contains the livechatnotranslation option, we just copy the file.
+ # To do so, we use the pot_in option, by generating an empty file.
+ pot_in_file=$(echo "$source_file" | sed -E 's/support\/documentation\/content\/en\//build\/documentation\/pot_in\//')
+ pot_in_file_dir=$(dirname "$pot_in_file")
+ use_pot_in=""
+ if grep -q -P '^livechatnotranslation\s*:\s*true\s*$' "$source_file"; then
+ echo "File $source_file must not be translated."
+ mkdir -p "$pot_in_file_dir"
+ echo "" > "$pot_in_file"
+
+ echo -n "pot_in:$pot_in_file " >> $po4afile
+ else
+ if grep -q -P "$ignore_pattern" $source_file; then
+ echo "File $source_file contains pattern to ignore, we must create a filtered pot_in file."
+ mkdir -p "$pot_in_file_dir"
+ grep -v -P "$ignore_pattern" $source_file > "$pot_in_file";
+
+ echo -n "pot_in:$pot_in_file " >> $po4afile
+ fi
+ fi
+
+ echo -n '$lang:'$target_file >> $po4afile
+ echo "" >> $po4afile
+ done
+}
+
+function runPo4a() {
+ echo "Running po4a..."
+ po4a $po4afile
+}
+
+function copyLivechatLanguages() {
+ echo "Copying livechat yml languages files to the hugo directory..."
+ find languages/ -name '*.yml' | while read file; do
+ # We need to rename .yml to .yaml... don't ask, hugo stuff...
+ new_filename=$(echo "$file" | sed -E "s/languages\/(.*)\.yml$/support\/documentation\/i18n\/\1.yaml/")
+ cp $file $new_filename
+ done
+}
+
+generatePo4aConf
+copyLivechatLanguages
+runPo4a
\ No newline at end of file
diff --git a/package.json b/package.json
index 2cd2ec19..682dd1b6 100644
--- a/package.json
+++ b/package.json
@@ -83,8 +83,8 @@
],
"library": "./dist/server/main.js",
"scripts": {
- "clean": "rm -rf dist/* build/*",
- "clean:light": "rm -rf dist/*",
+ "clean": "rm -rf dist/* build/* support/documentation/content/translations/* support/documentation/i18n/*",
+ "clean:light": "rm -rf dist/* support/documentation/content/translations/* support/documentation/i18n/*",
"prepare": "npm run clean && npm run build",
"build:converse": "bash conversejs/build-conversejs.sh",
"build:prosody": "bash build-prosody.sh",
@@ -102,7 +102,7 @@
"lint:script": "npx eslint --ext .js --ext .ts .",
"lint:styles": "stylelint 'conversejs/**/*.scss' 'assets/styles/**/*.css'",
"show:npmfiles": "npx npm-packlist",
- "doc:generatemissingtranslations": "bash doc-generate-missing-translations.sh"
+ "doc:translate": "bash doc-translate.sh"
},
"staticDirs": {
"static": "dist/client/static",
diff --git a/support/documentation/config.toml b/support/documentation/config.toml
index b6feb8d3..2080eb17 100644
--- a/support/documentation/config.toml
+++ b/support/documentation/config.toml
@@ -32,21 +32,180 @@ weight = 20
[Languages.en]
title = "Peertube plugin livechat documentation"
languageName = "English"
+ contentDir = "content/en"
- [Languages.fr]
- title = "Documentation plugin Peertube livechat"
- languageName = "Français"
- landingPageName = " Accueil"
- landingPageURL = "/peertube-plugin-livechat/fr/"
+ [Languages.ar]
+ languageName = "العربية"
+ landingPageURL = "/peertube-plugin-livechat/ar/"
+ contentDir = "content/translations/ar"
+
+ [Languages.ca]
+ languageName = "Català"
+ landingPageURL = "/peertube-plugin-livechat/ca/"
+ contentDir = "content/translations/ca"
+
+ [Languages.cs]
+ languageName = "Čeština"
+ landingPageURL = "/peertube-plugin-livechat/cs/"
+ contentDir = "content/translations/cs"
[Languages.de]
title = "Peertube Plugin Livechat Dokumentation"
languageName = "Deutsch"
landingPageName = " Home"
landingPageURL = "/peertube-plugin-livechat/de/"
+ contentDir = "content/translations/de"
+
+ [Languages.el]
+ languageName = "ελληνικά"
+ landingPageURL = "/peertube-plugin-livechat/el/"
+ contentDir = "content/translations/el"
+
+ [Languages.eo]
+ languageName = "Esperanto"
+ landingPageURL = "/peertube-plugin-livechat/eo/"
+ contentDir = "content/translations/eo"
+
+ [Languages.es]
+ languageName = "Español"
+ landingPageURL = "/peertube-plugin-livechat/es/"
+ contentDir = "content/translations/es"
+
+ [Languages.eu]
+ languageName = "Euskara"
+ landingPageURL = "/peertube-plugin-livechat/eu/"
+ contentDir = "content/translations/eu"
+
+ [Languages.fa]
+ languageName = "فارسی"
+ landingPageURL = "/peertube-plugin-livechat/fa/"
+ contentDir = "content/translations/fa"
+
+ [Languages.fi]
+ languageName = "Suomi"
+ landingPageURL = "/peertube-plugin-livechat/fi/"
+ contentDir = "content/translations/fi"
+
+ [Languages.fr]
+ title = "Documentation plugin Peertube livechat"
+ languageName = "Français"
+ landingPageName = " Accueil"
+ landingPageURL = "/peertube-plugin-livechat/fr/"
+ contentDir = "content/translations/fr"
+
+ [Languages.gd]
+ languageName = "Gàidhlig"
+ landingPageURL = "/peertube-plugin-livechat/gd/"
+ contentDir = "content/translations/gd"
+
+ [Languages.gl]
+ languageName = "Galego"
+ landingPageURL = "/peertube-plugin-livechat/gl/"
+ contentDir = "content/translations/gl"
+
+ [Languages.hr]
+ languageName = "Hrvatski"
+ landingPageURL = "/peertube-plugin-livechat/hr/"
+ contentDir = "content/translations/hr"
+
+ [Languages.hu]
+ languageName = "Magyar"
+ landingPageURL = "/peertube-plugin-livechat/hu/"
+ contentDir = "content/translations/hu"
+
+ [Languages.is]
+ languageName = "Íslenska"
+ landingPageURL = "/peertube-plugin-livechat/is/"
+ contentDir = "content/translations/is"
+
+ [Languages.it]
+ languageName = "Italiano"
+ landingPageURL = "/peertube-plugin-livechat/it/"
+ contentDir = "content/translations/it"
[Languages.ja]
title = "PeerTube ライブチャットプラグイン"
languageName = "日本語バージョン"
landingPageName = " Home"
landingPageURL = "/peertube-plugin-livechat/ja/"
+ contentDir = "content/translations/ja"
+
+ [Languages.kab]
+ languageName = "Taqbaylit"
+ landingPageURL = "/peertube-plugin-livechat/ka/"
+ contentDir = "content/translations/kab"
+
+ [Languages.nb]
+ languageName = "Norsk bokmål"
+ landingPageURL = "/peertube-plugin-livechat/nb/"
+ contentDir = "content/translations/nb"
+
+ [Languages.nl]
+ languageName = "Nederlands"
+ landingPageURL = "/peertube-plugin-livechat/nl/"
+ contentDir = "content/translations/nl"
+
+ [Languages.nn]
+ languageName = "Norsk nynorsk"
+ landingPageURL = "/peertube-plugin-livechat/nn/"
+ contentDir = "content/translations/nn"
+
+ [Languages.oc]
+ languageName = "Occitan"
+ landingPageURL = "/peertube-plugin-livechat/oc/"
+ contentDir = "content/translations/oc"
+
+ [Languages.pl]
+ languageName = "Polski"
+ landingPageURL = "/peertube-plugin-livechat/pl/"
+ contentDir = "content/translations/pl"
+
+ [Languages.pt]
+ languageName = "uguês"
+ landingPageURL = "/peertube-plugin-livechat/pt/"
+ contentDir = "content/translations/pt"
+
+ [Languages.ru]
+ languageName = "Pусский"
+ landingPageURL = "/peertube-plugin-livechat/ru/"
+ contentDir = "content/translations/ru"
+
+ [Languages.sq]
+ languageName = "Shqip"
+ landingPageURL = "/peertube-plugin-livechat/sq/"
+ contentDir = "content/translations/sq"
+
+ [Languages.sv]
+ languageName = "Svenska"
+ landingPageURL = "/peertube-plugin-livechat/sv/"
+ contentDir = "content/translations/sv"
+
+ [Languages.th]
+ languageName = "ไทย"
+ landingPageURL = "/peertube-plugin-livechat/th/"
+ contentDir = "content/translations/th"
+
+ [Languages.tok]
+ languageName = "Toki Pona"
+ landingPageURL = "/peertube-plugin-livechat/to/"
+ contentDir = "content/translations/tok"
+
+ [Languages.uk]
+ languageName = "украї́нська мо́ва"
+ landingPageURL = "/peertube-plugin-livechat/uk/"
+ contentDir = "content/translations/uk"
+
+ [Languages.vi]
+ languageName = "Tiếng Việt"
+ landingPageURL = "/peertube-plugin-livechat/vi/"
+ contentDir = "content/translations/vi"
+
+ [Languages.zh-Hans]
+ languageName = "简体中文(中国)"
+ landingPageURL = "/peertube-plugin-livechat/zh-Hans/"
+ contentDir = "content/translations/zh-Hans"
+
+ [Languages.zh-Hant]
+ languageName = "繁體中文(台灣"
+ landingPageURL = "/peertube-plugin-livechat/zh-Hant/"
+ contentDir = "content/translations/zh-Hant"
diff --git a/support/documentation/content/_index.de.md b/support/documentation/content/_index.de.md
deleted file mode 100644
index 511cb4a0..00000000
--- a/support/documentation/content/_index.de.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# PeerTube plugin livechat
-
-{{% notice info %}}
-Bevor Sie auf eine Hauptversion aktualisieren, lesen Sie bitte die Versionshinweise und die Liste der wichtigsten Änderungen : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
-{{% /notice %}}
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/_index.fr.md b/support/documentation/content/_index.fr.md
deleted file mode 100644
index 59157aee..00000000
--- a/support/documentation/content/_index.fr.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# PeerTube plugin livechat
-
-{{% notice info %}}
-Avant de mettre à jour le plugin vers une nouvelle version majeure, merci de lire les notes de version, et la liste des éventuelless modifications non rétro-compatibles : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
-{{% /notice %}}
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/_index.ja.md b/support/documentation/content/_index.ja.md
deleted file mode 100644
index fa5b7fdd..00000000
--- a/support/documentation/content/_index.ja.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# PeerTube ライブチャットプラグイン
-
-{{% notice info %}}
-メジャーリリースのアップデート実施前に、リリースノートをお読み頂き、変更をご確認ください : [変更履歴](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
-{{% /notice %}}
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/contact/_index.de.md b/support/documentation/content/contact/_index.de.md
deleted file mode 100644
index c9fce6b8..00000000
--- a/support/documentation/content/contact/_index.de.md
+++ /dev/null
@@ -1,12 +0,0 @@
-+++
-title="Kontakt"
-description="Kontakt"
-weight=80
-chapter=false
-+++
-
-Wenn Sie eine Frage haben oder über dieses Plugin sprechen möchten, können Sie diesem XMPP-Raum mit einem beliebigen Jabber-Client beitreten: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).
-
-Wenn Sie das Projekt finanziell unterstützen möchten, können Sie mich per E-Mail unter git.[at].john-livingston.fr kontaktieren oder mein [Liberapay-Profil](https://liberapay.com/JohnLivingston/) ansehen.
-
-`Bitte schreiben Sie mich in den Sprachen Englisch oder Französisch an.`
diff --git a/support/documentation/content/contact/_index.fr.md b/support/documentation/content/contact/_index.fr.md
deleted file mode 100644
index 465b9218..00000000
--- a/support/documentation/content/contact/_index.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Me contacter"
-description="Contacter l'auteur"
-weight=80
-chapter=false
-+++
-
-Si vous avez des questions ou souhaitez parler de ce plugin, vous pouvez rejoindre ce salon XMPP avec n'importe quel client Jabber : [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).
-
-Si vous souhaitez supporter le projet financièrement, vous pouvez me contacter par mail à l'adresse git.[arobase].john-livingston.fr, ou passer par mon [profil Liberapay](https://liberapay.com/JohnLivingston/).
diff --git a/support/documentation/content/contact/_index.ja.md b/support/documentation/content/contact/_index.ja.md
deleted file mode 100644
index 85c4a6ba..00000000
--- a/support/documentation/content/contact/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="お問い合わせ"
-description="お問い合わせ"
-weight=80
-chapter=false
-+++
-
-もし、ご質問、このプラグインに関して話したいことがある場合、お好きなJabberクライアントを使って、こちらのXMPPルームに参加してください: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).
-
-もし、プロジェクトを金銭面でご支援頂ける場合は、メールにて git.[at].john-livingston.fr, までご連絡頂くか、私の[Liberapay profile](https://liberapay.com/JohnLivingston/)をご確認頂けますと幸いです。
diff --git a/support/documentation/content/contributing/_index.de.md b/support/documentation/content/contributing/_index.de.md
deleted file mode 100644
index dcacfcab..00000000
--- a/support/documentation/content/contributing/_index.de.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Beitragen"
-description="Beitragen"
-weight=60
-chapter=false
-+++
-
-Interessiert beizutragen? Super!
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/contributing/_index.fr.md b/support/documentation/content/contributing/_index.fr.md
deleted file mode 100644
index a1e19f9f..00000000
--- a/support/documentation/content/contributing/_index.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Contribuer"
-description="Contribuer"
-weight=60
-chapter=false
-+++
-
-Intéressé⋅e pour contribuer ? Super !
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/contributing/_index.ja.md b/support/documentation/content/contributing/_index.ja.md
deleted file mode 100644
index 30f6a880..00000000
--- a/support/documentation/content/contributing/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="コントリビュート"
-description="コントリビュート"
-weight=60
-chapter=false
-+++
-
-Interested in contributing? Awesome!
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/contributing/codeofconduct/_index.de.md b/support/documentation/content/contributing/codeofconduct/_index.de.md
deleted file mode 100644
index 24dab3da..00000000
--- a/support/documentation/content/contributing/codeofconduct/_index.de.md
+++ /dev/null
@@ -1,146 +0,0 @@
-+++
-title="Verhaltenskodex"
-description="Vereinbarung über Verhaltenskodex für Mitwirkende"
-weight=10
-chapter=false
-+++
-
-## Unsere Verpflichtung
-
-Wir als Mitglieder, Teilnehmende und Verantwortliche unserer Gemeinschaft
-verpflichten uns, allen Teilnehmenden an dem Projekt und unserer Gemeinschaft
-eine belästigungsfreie Beteiligung, unabhängig von Alter, Körpergröße,
-Behinderung, ethnischer Zuordnung, Geschlechtermerkmalen, -identität und -ausdruck,
-Grad der Erfahrung, Bildung, sozialem Status, Nationalität, persönlicher
-Erscheinung, Rasse, Religion oder sexueller Identität und Orientierung
-zu ermöglichen.
-
-Wir verpflichten uns, in einer Weise zu handeln und zu interagieren, die zu
-einer offenen, einladenden, vielfältigen, inklusiven und gesunden Gemeinschaft
-beiträgt.
-
-## Unsere Standards
-
-Beispiele für Verhaltensweisen, die zu einem positiven Umfeld für unsere
-Gemeinschaft beitragen, sind:
-
-- Einfühlungsvermögen und Freundlichkeit gegenüber anderen Menschen zeigen
-- Unterschiedliche Meinungen, Standpunkte und Erfahrungen respektieren
-- Konstruktives Feedback geben und würdevoll annehmen
-- Verantwortung übernehmen und uns bei denjenigen entschuldigen, die von unseren
- Fehlern betroffen sind, und aus den Erfahrungen lernen
-- Konzentration auf das, was nicht nur für uns als Individuen, sondern für die
- gesamte Gemeinschaft das Beste ist
-
-Beispiele für inakzeptables Verhalten sind:
-
-- Die Verwendung sexualisierter Sprache, Bilder oder Symbolik sowie unerwünschte
- Versuche sexueller Annäherung
-- Beleidigende oder abwertende Kommentare, persönliche oder politische Angriffe
- und Trollen
-- Öffentliche oder private Belästigungen
-- Das Veröffentlichen von privaten Informationen Anderer, wie zum Beispiel
- physische oder elektronische Adressen, ohne deren ausdrückliche Erlaubnis
-- Anderes Verhalten, welches in einem professionellen Umfeld begründet als
- unangemessen betrachtet werden kann
-
-## Verantwortlichkeiten bei der Durchsetzung
-
-Die Gemeinschaftsleitung ist verantwortlich dafür, unsere Standards für ein
-akzeptables Verhalten klarzustellen und wird angemessen und fair
-korrigierende Maßnahmen ergreifen um auf jegliches Verhalten, das sie für
-unangemessen, bedrohlich oder beleidigend hält, zu reagieren.
-
-Die Gemeinschaftsleitung hat das Recht und die Verantwortung, Kommentare,
-Commits, Code, Wiki-Bearbeitungen, Support-Tickets und andere Beiträge, die
-nicht mit diesem Verhaltenskodex vereinbar sind, zu entfernen, zu bearbeiten
-oder abzulehnen, und wird die Gründe für eine Mäßigung mitteilen, wenn es
-angebracht ist.
-
-## Geltungsbereich
-
-Dieser Verhaltenskodex gilt für alle Gemeinschaftsbereiche und gilt auch, wenn
-eine Einzelperson die Gemeinschaft offiziell in öffentlichen Bereichen vertritt.
-Beispiele für die Repräsentation unserer Gemeinschaft sind die Verwendung einer
-offiziellen E-Mail-Adresse, das Posten über ein offizielles Social-Media-Konto
-oder das Auftreten als ernannte Vertretung bei einer Online- oder
-Offline-Veranstaltung.
-
-## Durchsetzung
-
-Fälle von missbräuchlichem, belästigendem oder anderweitig inakzeptablem
-Verhalten können unter git.[at].john-livingston.fr der für die Durchsetzung
-zuständigen Gemeinschaftsleitung gemeldet werden. Alle Beschwerden werden
-zeitnah und fair geprüft und ermittelt.
-
-Die gesamte Gemeinschaftsleitung ist verpflichtet, die Privatsphäre und die
-Sicherheit derjenigen, die einen Vorfall gemeldet haben, zu respektieren.
-
-## Durchsetzungsrichtlinien
-
-Die Gemeinschaftsleitung wird sich bei der Bestimmung der Konsequenzen für
-jede Handlung, die ihrer Ansicht nach gegen diesen Verhaltenskodex verstößt, an
-diese Richtlinien über die Auswirkungen in der Gemeinschaft halten:
-
-### 1. Berichtigung
-
-**Auswirkungen in der Gemeinschaft**: Verwendung unangemessener Sprache oder
-anderes Verhalten, das in der Gemeinschaft als unprofessionell oder unwillkommen
-gilt.
-
-**Folge**: Eine private, schriftliche Verwarnung der Gemeinschaftsleitung,
-die Klarheit über die Art des Verstoßes und eine Erklärung dafür bietet, warum
-das Verhalten unangemessen war. Eine öffentliche Entschuldigung kann verlangt
-werden.
-
-### 2. Verwarnung
-
-**Auswirkungen in der Gemeinschaft**: Eine Verletzung durch einen einzelnen
-Vorfall oder eine Reihe von Handlungen.
-
-**Folge**: Eine Warnung mit Konsequenzen bei wiederholtem Fehlverhalten. Keine
-Interaktion mit den beteiligten Personen, einschließlich unaufgeforderter
-Interaktion mit denjenigen, die den Verhaltenskodex durchsetzen, für einen
-bestimmten Zeitraum. Dazu gehört die Vermeidung von Interaktionen in
-Gemeinschaftsräumen sowie in externen Kanälen wie sozialen Medien. Ein Verstoß
-gegen diese Bedingungen kann zu einem vorübergehenden oder dauerhaften Verbot
-führen.
-
-### 3. Vorübergehender Ausschluss
-
-**Auswirkungen in der Gemeinschaft**: Eine schwerwiegende Verletzung von
-Gemeinschaftsstandards, einschließlich anhaltend unangemessenen Verhaltens.
-
-**Folge**: Ein zeitlich begrenztes Verbot jeglicher Art von Interaktion oder
-öffentlicher Kommunikation mit der Gemeinschaft. Während dieses Zeitraums ist
-keine öffentliche oder private Interaktion mit den beteiligten Personen erlaubt.
-Auch keine unaufgeforderte Interaktion mit denjenigen, die den Verhaltenskodex
-durchsetzen. Ein Verstoß gegen diese Bedingungen kann zu einem dauerhaften
-Verbot führen.
-
-### 4. Dauerhafter Ausschluss
-
-**Auswirkungen in der Gemeinschaft**: Aufzeigen eines Musters von Verletzungen
-der Gemeinschaftsstandards, einschließlich anhaltend unangemessenen Verhaltens,
-Belästigung einer Person oder Aggression gegen oder Herabsetzung von Gruppen von
-Personen.
-
-**Folge**: Ein dauerhaftes Verbot jeglicher Art von öffentlicher Interaktion
-innerhalb der Gemeinschaft.
-
-## Bezug
-
-Dieser Verhaltenskodex basiert auf dem [Contributor Covenant][homepage],
-Version 2.0, verfügbar unter
-
-
-Community Impact Guidelines wurden von
-[Mozillas Code of Conduct Enforcement Ladder][mozilla] inspiriert.
-
-Antworten auf häufig gestellte Fragen zu diesem Verhaltenskodex finden Sie in
-den häufig gestellten Fragen unter
-(in Englisch). Andere Übersetzungen sind verfügbar unter
-.
-
-[homepage]: https://www.contributor-covenant.org
-[mozilla]: https://github.com/mozilla/inclusion
diff --git a/support/documentation/content/contributing/codeofconduct/_index.fr.md b/support/documentation/content/contributing/codeofconduct/_index.fr.md
deleted file mode 100644
index a8557a08..00000000
--- a/support/documentation/content/contributing/codeofconduct/_index.fr.md
+++ /dev/null
@@ -1,135 +0,0 @@
-+++
-title="Code de conduite"
-description="Convention de Code de conduite Contributeur⋅rices"
-weight=10
-chapter=false
-+++
-
-## Notre engagement
-
-En tant que membres, contributeur·trice·s et dirigeant·e·s, nous nous
-engageons à faire de la participation à notre communauté
-une expérience sans harcèlement, quel que soit l'âge,
-la taille corporelle, le handicap visible ou invisible, l'appartenance ethnique,
-les caractéristiques sexuelles, l'identité et l'expression de genre,
-le niveau d'expérience, l'éducation, le statut socio-économique,
-la nationalité, l'apparence personnelle, la race, la religion,
-ou l'identité et l'orientation sexuelle.
-
-Nous nous engageons à agir et interagir de manière à contribuer à une communauté
-ouverte, accueillante, diversifiée, inclusive et saine.
-
-## Nos critères
-
-Exemples de comportements qui contribuent à créer un environnement positif :
-
-* Faire preuve d'empathie et de bienveillance envers les autres
-* Être respectueux des opinions, points de vue et expériences divergents
-* Donner et recevoir avec grâce les critiques constructives
-* Assumer ses responsabilités et s'excuser auprès des personnes affectées par nos erreurs et apprendre de ces expériences
-* Se concentrer sur ce qui est le meilleur non pas uniquement pour nous en tant qu'individu, mais aussi pour l'ensemble de la communauté
-
-Exemples de comportements inacceptables :
-
-* L'utilisation de langage ou d'images sexualisés et d'attentions ou d'avances sexuelles de toute nature
-* Le _trolling_, les commentaires insultants ou désobligeants et les attaques
- personnelles ou d'ordre politique
-* Le harcèlement en public ou en privé
-* La publication d'informations privées d'autrui, telle qu'une
- adresse postale ou une adresse électronique, sans leur autorisation explicite
-* Toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée
- dans un cadre professionnel
-
-## Responsabilités d'application
-
-Les dirigeant·e·s de la communauté sont chargé·e·s de clarifier et de faire respecter nos normes de
-comportements acceptables et prendront des mesures correctives appropriées et équitables en
-réponse à tout comportement qu'ils ou elles jugent inapproprié, menaçant, offensant ou nuisible.
-
-Les dirigeant·e·s de la communauté ont le droit et la responsabilité de supprimer, modifier ou rejeter
-les commentaires, les contributions, le code, les modifications de wikis, les rapports d'incidents ou de bogues et autres contributions qui
-ne sont pas alignés sur ce code de conduite, et communiqueront les raisons des décisions de modération
-le cas échéant.
-
-## Portée d'application
-
-Ce code de conduite s'applique à la fois au sein des espaces du projet ainsi que
-dans les espaces publics lorsqu'un individu représente officiellement le projet ou sa
-communauté. Font parties des exemples de représentation d'un projet ou d'une
-communauté l'utilisation d'une adresse électronique officielle, la publication sur
-les réseaux sociaux à l'aide d'un compte officiel ou le fait d'agir en tant que représentant·e désigné·e
-lors d'un événement en ligne ou hors-ligne.
-
-## Application
-
-Les cas de comportements abusifs, harcelants ou tout autre comportement
-inacceptables peuvent être signalés aux dirigeant·e·s de la communauté responsables de l'application du code de conduite à git.[at].john-livingston.fr.
-Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable.
-
-Tou·te·s les dirigeant·e·s de la communauté sont tenu·e·s de respecter la vie privée et la sécurité des
-personnes ayant signalé un incident.
-
-## Directives d'application
-
-Les dirigeant·e·s de communauté suivront ces directives d'application sur l'impact communautaire afin de déterminer
-les conséquences de toute action qu'ils jugent contraire au présent code de conduite :
-
-### 1. Correction
-
-**Impact communautaire** : utilisation d'un langage inapproprié ou tout autre comportement jugé
-non professionnel ou indésirable dans la communauté.
-
-**Conséquence** : un avertissement écrit et privé de la part des dirigeant·e·s de la communauté, clarifiant
-la nature du non-respect et expliquant pourquoi
-le comportement était inapproprié. Des excuses publiques peuvent être demandées.
-
-### 2. Avertissement
-
-**Impact communautaire** : un non-respect par un seul incident ou une série d'actions.
-
-**Conséquence** : un avertissement avec des conséquences dû à la poursuite du comportement.
-Aucune interaction avec les personnes concernées, y compris l'interaction non sollicitée avec
-celles et ceux qui sont chargé·e·s de l'application de ce code de conduite, pendant une période déterminée.
-Cela comprend le fait d'éviter les interactions dans les espaces communautaires ainsi que sur les canaux externes
-comme les médias sociaux. Le non-respect de ces conditions peut entraîner
-un bannissement temporaire ou permanent.
-
-### 3. Bannissement temporaire
-
-**Impact communautaire** : un non-respect grave des normes communautaires, notamment
-un comportement inapproprié soutenu.
-
-**Conséquence** : un bannissement temporaire de toutes formes d'interactions ou de
-communications avec la communauté pendant une période déterminée. Aucune interaction publique ou
-privée avec les personnes concernées, y compris les interactions non sollicitées
-avec celles et ceux qui appliquent ce code de conduite, n'est autorisée pendant cette période.
-Le non-respect de ces conditions peut entraîner un bannissement permanent.
-
-### 4. Bannissement permanent
-
-**Impact communautaire** : démontrer un schéma récurrent de non-respect des normes de la
-communauté y compris un comportement inapproprié soutenu, le harcèlement d'un individu
-ainsi que l'agression ou le dénigrement de catégories d'individus.
-
-**Conséquence** : un bannissement permanent de toutes formes d'interactions publiques au sein de
-la communauté.
-
-## Attributions
-
-Ce code de conduite est adapté du
-[Contributor Covenant](https://www.contributor-covenant.org), version 2.0,
-disponible à
-[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
-
-Les Directives d'application ont été inspirées par le
-[Code of conduct enforcement ladder][Mozilla CoC] de Mozilla.
-
-Pour obtenir des réponses aux questions courantes sur ce code de conduite, consultez la FAQ à
-[https://www.contributor-covenant.org/faq][FAQ]. Les traductions sont disponibles
-sur [https://www.contributor-covenant.org/translations][translations].
-
-[homepage]: https://www.contributor-covenant.org
-[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
-[Mozilla CoC]: https://github.com/mozilla/diversity
-[FAQ]: https://www.contributor-covenant.org/faq
-[translations]: https://www.contributor-covenant.org/translations
diff --git a/support/documentation/content/contributing/codeofconduct/_index.ja.md b/support/documentation/content/contributing/codeofconduct/_index.ja.md
deleted file mode 100644
index 58350279..00000000
--- a/support/documentation/content/contributing/codeofconduct/_index.ja.md
+++ /dev/null
@@ -1,91 +0,0 @@
-+++
-title="コントリビューター行動規範"
-description="コントリビューター行動規範"
-weight=10
-chapter=false
-+++
-
-## 私たちの約束
-メンバー、コントリビューター、およびリーダーとして、年齢、体の大きさ、目に見えるまたは目に見えない障害、民族性、性別、
-性同一性、表現、経験のレベル、教育、社会経済的地位、国籍、人格、人種、宗教、または性的同一性と指向に関係なく、
-コミュニティへの参加をハラスメントのない体験にすることを誓います。
-
-私たちは、オープンで親しみやすく、多様で包括的で健全なコミュニティに貢献する方法で行動し、交流することを誓います。
-
-## 私たちの標準
-
-前向きな環境を作り上げることに貢献する行動の例:
-
-* 他人への共感と優しさを示す
-
-* 異なる意見、視点、経験を尊重する
-
-* 建設的なフィードバックを与え、礼儀正しく受け入れる
-
-* 私たちの過ちの影響を受けた人々に責任を受け入れ、謝罪し、そしてその経験から学ぶ
-
-* 個人としてだけでなく、コミュニティ全体にとっても最善であることに焦点を当てる
-
-許容できない行動の例は次のとおりです。
-
-* 性的な言葉や画像の使用、および性的な注意またはその他あらゆる種類の問題行為
-
-* トローリング、侮辱的または中傷的なコメント、個人的または政治的攻撃
-
-* 公的またはプライベートの嫌がらせ
-
-* 明示的な許可なしに、住所や電子メールアドレスなど、他者の個人情報を公開する
-
-* 職業上不適切と合理的に考えられるその他の行為
-
-## 執行責任
-
-コミュニティリーダーは、許容される行動の基準を明確にし、実施する責任があり、不適切、脅迫的、攻撃的、または有害と見なされる行動に応じて、適切で公正な是正措置を講じます。
-
-コミュニティリーダーは、コメント、コミット、コード、wikiの編集、問題、およびこの行動規範に沿っていないその他の貢献を削除、編集、または拒否する権利と責任を持ち、適切な場合はモデレーションの決定の理由を伝えます。
-
-## 適用範囲
-
-この行動規範は、すべてのコミュニティスペース内で適用され、個人がパブリックスペースでコミュニティを公式に代表している場合にも適用されます。
-私たちのコミュニティを代表する例には、公式の電子メールアドレスの使用、公式のソーシャルメディアアカウントを介した投稿、オンラインまたはオフラインのイベントでの指定代理人としての行動などがあります。
-
-## 執行
-
-虐待的、嫌がらせ、またはその他の許容できない行動の事例は、執行を担当するコミュニティリーダーに対して git.[at].john-livingston.fr で報告される場合があります。
-すべての苦情は迅速かつ公正にレビューおよび調査されます。
-
-すべてのコミュニティリーダーは、問題の報告者のプライバシーとセキュリティを尊重する義務があります。
-
-## 執行ガイドライン
-
-コミュニティリーダーは、この行動規範に違反していると見なした行動への帰結を判断する際に、これらのコミュニティガイドラインに従います。
-
-### 1. 更生
-
-**コミュニティへの影響**: コミュニティで専門家にふさわしくない、または歓迎されないと思われる不適切な言葉の使用やその他の不適切な行動をすること。
-
-**帰結**: コミュニティリーダーからの非公開の書面による警告。違反の理由を明確にし、行動が不適切だった理由を説明します。 公の謝罪が要求される場合があります。
-
-### 2. 警告
-
-**コミュニティへの影響**: 単一の出来事または一連の動作による違反。
-
-**帰結**: 持続的な行動の結果を伴う警告。 指定された期間、行動規範の実施者との一方的な対話を含め、関係者との対話はありません。 これには、コミュニティスペースやソーシャルメディアなどの外部チャネルでの相互作用の回避が含まれます。 これらの条件に違反すると、一時的または永続的に禁止される場合があります。
-
-### 3. 一時的な禁止
-**コミュニティへの影響**: 持続的で不適切な行動を含む、コミュニティ標準の重大な違反。
-
-**帰結**: 指定された期間のコミュニティとのあらゆる種類の相互関係または公的なコミュニケーションの一時的な禁止。 この期間中、行動規範を実施する人々との一方的な対話を含め、関係する人々との公的または私的な対話は許可されません。
-これらの条件に違反すると、永久的に禁止される場合があります。
-### 4. 永久的な禁止
-**コミュニティへの影響**: 連続的な不適切な行動、個人への嫌がらせ、または個人の集団に対する攻撃または名誉毀損を含む、コミュニティの標準への違反のパターンを示す。
-
-**帰結**: コミュニティ内でのあらゆる種類の公的な相互関係の永久的な禁止。
-
-## 帰属
-この行動規範は、https://www.contributor-covenant.org/version/2/0/code_of_conduct.html で利用可能な [Contributor Covenant][homepage] バージョン2.0を基に作成されています。
-
-コミュニティへの影響ガイドラインは[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity)に適合しています。
-
-[homepage]: https://www.contributor-covenant.org
-この行動規範に関する一般的な質問への回答については、https://www.contributor-covenant.org/faq のFAQを参照してください。翻訳はhttps://www.contributor-covenant.org/translations で入手できます。
diff --git a/support/documentation/content/contributing/develop/_index.de.md b/support/documentation/content/contributing/develop/_index.de.md
deleted file mode 100644
index 048acaf5..00000000
--- a/support/documentation/content/contributing/develop/_index.de.md
+++ /dev/null
@@ -1,134 +0,0 @@
-+++
-title="Entwickeln"
-description="Entwickeln"
-weight=40
-chapter=false
-+++
-
-Sprechen Sie immer über die Funktionen, die Sie entwickeln wollen, indem Sie das Issue, das Ihr Problem behandelt, erstellen/finden und kommentieren bevor Sie mit der Arbeit daran beginnen und informieren Sie die Gemeinschaft darüber, dass Sie mit der Programmierung beginnen, indem Sie das Thema für sich beanspruchen.
-
-Bitte benutzen Sie den `main` Zweig.
-
-{{% notice note %}}
-Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.
-{{% /notice %}}
-
-Voraussetzung für die Erstellung dieses Plugins:
-
-- Sie müssen `npm` installiert haben
-- Sie müssen python venv installiert haben (z.B. das Paket `python3-venv` auf Debian)
-
-Um das Repository zu klonen:
-
-```bash
-# Clone the repository
-git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git
-# Checkout the main branch
-git checkout main
-# Initialize the submodules. This command must be run again if any submodules' version changes.
-git submodule update --init --recursive
-
-# Install NPM dependencies and build the module for the first time:
-npm install
-
-# Build the plugin after a modification:
-npm run build
-
-# If you have a fork from the repository, add it as remote (example):
-git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git
-
-# Create a local branch for you developments, and checkout it (example):
-git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)
-# To propose your modifications, push your branch to your repository (example):
-git push --set-upstream me my_development
-# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)
-```
-
-Sobald Sie bereit sind, Ihren Code zu zeigen und um Feedback zu bitten, reichen Sie einen *Entwurf* für einen Pull Request ein.
-Sobald Sie bereit für eine Codeüberprüfung vor der Zusammenführung sind, reichen Sie einen Pull Request ein. In jedem Fall sollten Sie Ihren PR mit dem Problem, die er behebt, verlinken, indem Sie die GitHub-Syntax verwenden: "fixes #issue_number".
-
-Der Front-End-Code befindet sich im Ordner `client`, der Back-End-Code im Ordner `server`. Es gibt einige gemeinsam genutzte Codes im `shared` Ordner.
-
-Für allgemeine Anweisungen (Entwicklung von Plugins, Erstellung, Installation, ...), lesen Sie bitte die [Peertube Dokumentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).
-
-Sie können das Plugin mit zusätzlichen Debug-Funktionen bauen, indem Sie es einfach benutzen:
-
-```bash
-NODE_ENV=dev npm run build
-```
-
-## ESBuild vs Typescript
-
-Dieses Plugin verwendet ESBuild für die Generierung von Frontend-Code, wie das offizielle `peertube-plugin-quickstart` Plugin.
-ESBuild kann mit Typescript umgehen, prüft aber keine Typen
-(siehe [ESBuild-Dokumentation](https://esbuild.github.io/content-types/#typescript)).
-Deshalb kompilieren wir Typescript zuerst mit der Option `-noEmit`, nur um die Typen zu überprüfen (`check:client:ts` in der package.json Datei).
-Dann, wenn alles in Ordnung ist, führen wir ESBuild aus, um das kompilierte Javascript zu erzeugen.
-
-## Debug Mode
-
-There is a debug mode for this plugin, that shorten some delay.
-For example, some log files will rotate every two minutes, instead of once per day.
-This permit to test more easily certain actions, for which it could normally take hours or days to wait.
-
-To enable this mode, you juste have to create the
-`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file
-(replacing `/var/www/peertube/storage/` by the correct path on your installation).
-
-The simple existence of this file is sufficient to trigger the debug mode.
-To make sure it's taken into account, you can restart your Peertube instance.
-
-This file can contain some JSON to enable more advanced options.
-To have a list of existing parameters, check `server/lib/debug.ts`.
-Restart Peertube after each content modification.
-
-{{% notice warning %}}
-Don't enable this mode on a production server, neither on a public server.
-This could cause security issues.
-{{% /notice %}}
-
-### Restart Prosody
-
-When debug mode is enabled, you can restart Prosody using this API call:
-`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.
-This call don't need any authentificaiton.
-It can be done from a command line, for example using
-`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.
-
-### Prosody debugger
-
-It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).
-
-To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.
-Then, add this in the `debub_mode` file:
-
-```json
-{
- "debug_prosody": {
- "debugger_path": "/the_path_to_mobdebug/src",
- "host": "localhost",
- "port": "8172"
- }
-}
-```
-
-`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.
-
-Restart Peertube.
-
-Start your debugger server.
-
-For Prosody to connect to the debugger, call the API
-`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.
-This call does not need any authentication.
-It can be done from a command line, for example with
-`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.
-You can even configure your debug server to launch this request automatically.
-
-Prosody will then restart, connecting to the debugger.
-
-## Quick dev environment using Docker
-
-There is a tutorial, in french, on the
-[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)
-that explains how to quickly build a dev env using Docker.
diff --git a/support/documentation/content/contributing/develop/_index.fr.md b/support/documentation/content/contributing/develop/_index.fr.md
deleted file mode 100644
index 896fb615..00000000
--- a/support/documentation/content/contributing/develop/_index.fr.md
+++ /dev/null
@@ -1,143 +0,0 @@
-+++
-title="Développer"
-description="Développer et proposer des modifications de code"
-weight=40
-chapter=false
-+++
-
-Toujours annoncer les fonctionnalités sur lesquelles vous voulez travailler en créant un ticket ou en commentant un ticket existant, avant de commencer à travailler dessus. Et annoncez clairement à la communauté que vous commencez à travailler dessus. Ceci afin d'éviter que plusieurs personnes travaillent sur la même chose et entrent en conflit.
-
-Les Pull Request sont à faire sur la branche `main`.
-
-{{% notice note %}}
-Jusqu'à mars 2023, il fallait contribuer sur la branche `develop`. Cette procédure est désormais obsolète.
-{{% /notice %}}
-
-Pré-requis pour compiler le plugin:
-
-- vous devez avoir installé `npm`
-- vous devez avoir installé les venv python (paquet `python3-venv` sous Debian par exemple)
-
-Pour clôner le dépot :
-
-```bash
-# Cloner le dépot
-git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git
-# Passer sur la branche main si ce n'est pas déjà le cas
-git checkout main
-# Initialiser les sous-modules. Cette commande est à refaire si jamais la version d'un l'un des sous-module change.
-git submodule update --init --recursive
-
-# Installer les dépendances NPM et compiler le plugin pour la première fois :
-npm install
-
-# Compiler le plugin après une modification :
-npm run build
-
-# Si vous avez un fork du dépot, ajoutez le en remote (exemple) :
-git remote add me git@github.com:MON_COMPTE_GITHUB/peertube-plugin-livechat.git
-
-# Créez une branche locale pour vos développements et placez vous dessus (exemple) :
-git checkout mon_developpement # NB: si un ticket y est associé, utilisé le nom fix_1234 (où 1234 est le numéro du ticket)
-# Pour proposer vos modifications, poussez votre branche sur votre dépot (exemple) :
-git push --set-upstream me mon_developpement
-# Rendez-vous ensuite sur votre dépot github avec votre navigateur web pour proposer la Pull Request (voir les instructions complémentaires ci-dessous)
-```
-
-Quand vous êtes prêt⋅e à montrer votre code pour avoir un retour, soumettez une Pull Request *draft*.
-Quand vous êtes prêt⋅e pour une relecture de code avant merge, soumettez une Pull Request. Dans tous les cas, merci de lier votre Pull Request au ticket concerné en utilisant la syntax de GitHub : «fixes #issue_number».
-
-Le code du front-end est dans le dossier `client`. Le code backend dans `server`. Il y a du code partagé entre les deux dans `shared`.
-
-Pour les instructions génériques concernant le développement de plugins (building, installation, ...), merci de vous référer à la [documentation Peertube](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).
-
-Vous pouvez *builder* le plugin avec des infos de debug supplémentaires en utilisant :
-
-```bash
-NODE_ENV=dev npm run build
-```
-
-## ESBuild vs Typescript
-
-Ce plugin utilise ESBuild pour compiler le code front-end, comme le plugin `peertube-plugin-quickstart` officiel.
-ESBuild peut gérer Typescript, mais ne vérifie pas les types
-(voir [la documentation ESBuild](https://esbuild.github.io/content-types/#typescript)).
-C'est pourquoi on compile d'abord Typescript avec l'option `-noEmit`, juste pour vérifier les types (`check:client:ts` dans le fichier package.json).
-Ensuite, si tout est ok, on lance ESBuild pour générer le javascript compilé.
-
-## Debug Mode
-
-Il existe un mode de debug pour le plugin, qui va raccourcir le délais de certaines actions.
-Par exemple, il va faire tourner les journaux toutes les deux minutes, au lieu de tous les jours.
-Cela permet de tester plus facilement certaines actions, pour lesquelles il faudrait normalement attendre
-des heures ou des jours.
-
-Pour activer ce mode, il suffit de créer un fichier
-`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode`
-(en adaptant `/var/www/peertube/storage/` à votre installation le cas échéant).
-
-La simple existance de ce fichier suffit à déclencher le mode debug.
-Pour être sûr qu'il est pris en compte, vous pouvez redémarrer votre instance Peertube.
-
-Ce fichier peut également contenir du JSON qui pourra activer d'autres options.
-Pour en avoir la liste, vous pouvez regarder le code de `server/lib/debug.ts`.
-Redémarrez Peertube après chaque modification de son contenu.
-
-{{% notice warning %}}
-N'activer jamais ce mode sur un serveur de production, ni même sur un serveur public.
-Cela pourrait poser des problèmes de sécurité.
-{{% /notice %}}
-
-### Redémarrer Prosody
-
-Pour redémarrer Prosody quand le mode debug est activé, vous pouvez appeler l'API
-`http://votre_instance.tld/plugins/livechat/router/api/restart_prosody`.
-Cet appel n'a pas besoin d'authentification.
-Il peut se faire depuis une ligne de commande, par exemple avec
-`curl http://votre_instance.tld/plugins/livechat/router/api/restart_prosody`.
-
-### Prosody debugger
-
-Il est possible de connecter l'AppImage Prosody à un debugger distant en utilisant
-[MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).
-
-Pour cela, placer MobDebug dans un dossier accessible par le user `peertube`.
-Ensuite, ajouter cela dans le fichier `debug_mode` du plugin:
-
-```json
-{
- "debug_prosody": {
- "debugger_path": "/the_path_to_mobdebug/src",
- "host": "localhost",
- "port": "8172"
- }
-}
-```
-
-`host` et `port` sont optionnels. `debugger_path` doit pointer vers le dossier où
-se trouve le fichier `.lua` de `MobDebug`.
-
-Redémarrer Peertube.
-
-Lancer votre serveur de debug.
-
-Pour que Prosody se connecte au debugger, appelez l'API
-`http://votre_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.
-Cet appel n'a pas besoin d'authentification.
-Il peut se faire depuis une ligne de commande, par exemple avec
-`curl http://votre_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.
-Vous pouvez même configurer votre serveur de debuggage pour lancer cette commande
-automatiquement.
-
-Prosody va alors redémarrer en se connectant au debugger.
-
-## Environnement de développement rapide via Docker
-
-Un tutoriel est disponible sur [le forum Peertube](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)
-pour expliquer comment monter rapidement un environnement de développement en utilisant Docker.
-
-Un dépot a été crée sur la base de ce tutoriel: https://codeberg.org/mose/pt-plugin-dev
-
-Note: pour une raison obscure, Prosody n'arrive pas à résoudre les adresses DNS des conteneurs quand la librairie
-lua-unbound est utilisée. Pour contourner cela, il y a un «dirty hack»: il suffit de créer une fichier
-`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` dans vos docker-volumes, puis de les redémarrer.
diff --git a/support/documentation/content/contributing/develop/_index.ja.md b/support/documentation/content/contributing/develop/_index.ja.md
deleted file mode 100644
index 48862eb5..00000000
--- a/support/documentation/content/contributing/develop/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Develop"
-description="Develop"
-weight=40
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/contributing/document/_index.de.md b/support/documentation/content/contributing/document/_index.de.md
deleted file mode 100644
index e528b211..00000000
--- a/support/documentation/content/contributing/document/_index.de.md
+++ /dev/null
@@ -1,64 +0,0 @@
-+++
-title="Dokumentation"
-description="Dokumentieren Sie das Plugin, oder übersetzen Sie die Dokumentation."
-weight=50
-chapter=false
-+++
-
-## Allgemeine Informationen
-
-Informieren Sie die Community immer vor der Arbeit (indem Sie ein neues Problem erstellen oder ein bestehendes kommentieren). Damit soll vermieden werden, dass zwei Personen
-an der gleichen Sache arbeiten, und Konflikte zu verhindern.
-
-Bitte benutzen Sie den `main`-Zweig.
-
-Der Quellcode der Dokumentation befindet sich im Ordner `support/documentation/content`.
-
-Die Dokumentation wird mit [Hugo](https://gohugo.io/) erstellt.
-Sie müssen es auf Ihrem Computer installieren, wenn Sie eine Vorschau Ihrer Arbeit sehen wollen.
-
-Das verwendete Thema ist [hugo-theme-learn](https://learn.netlify.app/).
-Sie sollten dessen Dokumentation lesen, bevor Sie mit der Bearbeitung der Dokumentation beginnen.
-
-When a new plugin version is released, or when documentation is updated,
-plugin maintainers will merge the `main` branch to the `documentation` branche.
-This will trigger github and gitlab pipelines, and update published documentation.
-
-## Übersätzungen
-
-Die Hauptsprache ist Englisch (Code `en`).
-
-Die verschiedenen Übersetzungen der gleichen Datei stehen nebeneinander im Verzeichnis und sind durch einen Sprachcode in der Dateinamenerweiterung gekennzeichnet.
-Beispiel: `_index.fr.md` ist die französische Übersetzung von `_index.en.md`.
-
-Bitte beachten Sie, dass eine fehlende Übersetzungsdatei nicht in den Menüs der generierten Website erscheint.
-
-**Stellen Sie sicher, dass Sie immer alle Dateien für die Sprachen erstellen**, auch wenn die Übersetzung noch nicht verfügbar ist.
-
-Dafür gibt es ein Skript `doc-generate-missing-translations.sh` im Stammverzeichnis des Projektes. Wenn Sie eine neue Datei hinzufügen, müssen Sie nur die englische Version erstellen und dann dieses Skript ausführen. Es erstellt alle fehlenden Übersetzungen und fügt eine Beispielmeldung hinzu, die den Benutzer auffordert, die englische Version zu lesen.
-
-## Eine neue Sprache hinzufügen
-
-Kopieren und ändern Sie den Abschnitt `[Languages.fr]` in der Datei `support/documentation/config.toml`.
-
-Führen Sie dann das Skript `doc-generate-missing-translations.sh` aus.
-Es wird alle fehlenden Dateien erstellen.
-
-Dann können Sie sie eine Datei nach der anderen übersetzen.
-Wenn die Übersetzungen nicht vollständig sind, macht das nichts, die generierten Dateien zeigen eine Meldung an, die vorschlägt, die Sprache zu ändern.
-
-## Vorschau
-
-Um eine Vorschau Ihrer Änderungen zu sehen, führen Sie einfach diesen Befehl aus:
-
-```bash
-hugo serve -s support/documentation/
-```
-
-Öffnen Sie dann Ihren Browser und gehen Sie auf die Adresse
-[http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).
-Diese Seite wird bei jeder Änderung automatisch aktualisiert.
-
-## Veröffentlichung
-
-Die Veröffentlichung der Dokumentation erfolgt automatisch, sobald die Änderungen in den `main` Zweig eingefügt wurden.
diff --git a/support/documentation/content/contributing/document/_index.en.md b/support/documentation/content/contributing/document/_index.en.md
deleted file mode 100644
index 01b9aadb..00000000
--- a/support/documentation/content/contributing/document/_index.en.md
+++ /dev/null
@@ -1,65 +0,0 @@
-+++
-title="Documentation"
-description="Document the plugin, or translate the documentation."
-weight=50
-chapter=false
-+++
-
-## General information
-
-Always inform the community before working (by creating a new issue, or commenting an existing one). This is to avoid that two persons are
-working on the same thing, and prevent conflicts.
-
-Documentation work has to be merged in the `main` branch.
-
-The documentation source code is in the `support/documentation/content` folder.
-
-The documentation is generated using [Hugo](https://gohugo.io/).
-You have to install it on your computer if you want to preview your work.
-
-The used theme is [hugo-theme-learn](https://learn.netlify.app/).
-You should read its documentation before starting editing the documentation.
-
-When a new plugin version is released, or when documentation is updated,
-plugin maintainers will merge the `main` branch to the `documentation` branche.
-This will trigger github and gitlab pipelines, and update published documentation.
-
-## Translations
-
-The principal language is english (`en` code).
-
-The different translations of the same file are side by side in the
-tree, and are identified by a language code in the file name extension.
-Example: `_index.fr.md` is the French translation of `_index.en.md`.
-
-Please note that a missing translation file will not appear in the menus of the generated site.
-
-**Always make sure to create files for all languages**, even if the translation is not yet available.
-
-For this, there is a script `doc-generate-missing-translations.sh` in the root of the repository. When you add a new file, you just have to create the english version, then run this script. It will create all missing translations, putting a sample message inviting the user to read the english version.
-
-## Add a new language
-
-In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.
-
-Then, run the `doc-generate-missing-translations.sh` script.
-It will create all the missing files.
-
-Then you can translate them one by one.
-If the translations are not complete, it does not matter, the generated files will display a message suggesting to change the language.
-
-## Preview
-
-To preview your modifications, just run:
-
-```bash
-hugo serve -s support/documentation/
-```
-
-Then open your browser on the address
-[http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).
-This page will automatically refresh on each modification.
-
-## Publication
-
-Publishing the documentation is automatic, as soon as the changes are merged into the `main' branch.
diff --git a/support/documentation/content/contributing/document/_index.fr.md b/support/documentation/content/contributing/document/_index.fr.md
deleted file mode 100644
index 4275ceb6..00000000
--- a/support/documentation/content/contributing/document/_index.fr.md
+++ /dev/null
@@ -1,78 +0,0 @@
-+++
-title="Documenter"
-description="Documenter le plugin, ou traduire la documentation."
-weight=50
-chapter=false
-+++
-
-## Généralités
-
-Toujours vous annoncer avant de commencer à travailler (en créant un ticket ou
-en commentant un ticket existant). Ceci afin d'éviter que plusieurs personnes
-travaillent sur la même chose et entrent en conflit.
-
-Le travail de documentation se fait sur la branche `main`.
-
-Le code source de la documentation se trouve dans le dossier
-`support/documentation/content` du dépot de code.
-
-La documentation est générée via l'outils [Hugo](https://gohugo.io/).
-Celui-ci doit être installé sur votre machine pour pouvoir prévisualiser la
-documentation.
-
-Le thème utilisé est [hugo-theme-learn](https://learn.netlify.app/).
-Il est recommandé d'en lire la documentation avant de commencer.
-
-Quand une version du plugin est publiée, ou quand la documentation est mise
-à jour, les mainteneur⋅euses du plugin fusionnerons la branche `main` dans
-la branche `documentation`, ce qui aura pour effet de déclencher les pipelines
-github et gitlab pour mettre à jour les versions publiées.
-
-## Traductions
-
-La langue principale est l'anglais (code `en`).
-
-Les différentes traductions d'un même fichier sont côte-à-côte dans
-l'arborescence, et sont identifiées par un code langue dans l'extension du
-nom de fichier. Exemple: `_index.fr.md` est la tranduction française de
-`_index.en.md`.
-
-Attention, un fichier de traduction manquant n'apparaitra pas dans les menus
-du site générés.
-**On veillera donc toujours à créer les fichiers pour toutes les langues**, même
-si la traduction n'est pas encore disponible.
-
-Pour cela, il y a un script `doc-generate-missing-translations.sh` à la racine
-du dépot. Quand on ajoute un nouveau fichier, il suffit de créer la version
-anglaise, puis de lancer ce script. Il va créer toutes les traductions
-manquantes, on y mettant un message type invitant l'utilisateur⋅rice à lire la
-version anglaise.
-
-## Ajout d'une nouvelle langue
-
-Dans le fichier `support/documentation/config.toml`, inspirez vous de la
-section `[Languages.fr]` pour déclarer la nouvelle langue.
-
-Ensuite, lancez le script `doc-generate-missing-translations.sh` à la racine
-du dépot. Celui-ci crééra tous les fichiers manquants pour la nouvelle langue.
-
-Il ne vous reste plus qu'à les traduire.
-Si les traductions ne sont pas complètes, ce n'est pas grave, les fichiers
-générés afficherons un message proposant de changer de langue.
-
-## Prévisualiser
-
-Pour prévisualiser vos modification, il suffit de lancer:
-
-```bash
-hugo serve -s support/documentation/
-```
-
-Puis d'ouvrir votre navigateur à l'adresse
-[http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).
-Cette page se raffraichira automatiquement à chaque modification.
-
-## Publication
-
-La publication de la documentation est automatique, dès que les modifications
-sont fusionnées dans la branche `main`.
diff --git a/support/documentation/content/contributing/document/_index.ja.md b/support/documentation/content/contributing/document/_index.ja.md
deleted file mode 100644
index 349b1848..00000000
--- a/support/documentation/content/contributing/document/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Document"
-description="Documenter the plugin, or translate the documentation."
-weight=50
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/contributing/feedback/_index.de.md b/support/documentation/content/contributing/feedback/_index.de.md
deleted file mode 100644
index abf86cd7..00000000
--- a/support/documentation/content/contributing/feedback/_index.de.md
+++ /dev/null
@@ -1,11 +0,0 @@
-+++
-title="Feedback"
-description="Gib dein Feedback"
-weight=30
-chapter=false
-+++
-
-Sie müssen keine Programmierkenntnisse haben, um zu diesem Plugin beizutragen! Andere
-Beiträge sind auch sehr wertvoll, darunter:
-Sie können die Software testen und Fehler melden, Sie können Feedback geben, Funktionen die Sie
-interessieren, Benutzeroberfläche, Design, ...
diff --git a/support/documentation/content/contributing/feedback/_index.en.md b/support/documentation/content/contributing/feedback/_index.en.md
deleted file mode 100644
index 1c2e6055..00000000
--- a/support/documentation/content/contributing/feedback/_index.en.md
+++ /dev/null
@@ -1,11 +0,0 @@
-+++
-title="Give your feedback"
-description="Give your feedback"
-weight=30
-chapter=false
-+++
-
-You don't need to know how to code to start contributing to this plugin! Other
-contributions are very valuable too, among which: you can test the software and
-report bugs, you can give feedback, features that you are
-interested in, user interface, design, ...
diff --git a/support/documentation/content/contributing/feedback/_index.fr.md b/support/documentation/content/contributing/feedback/_index.fr.md
deleted file mode 100644
index 30c60626..00000000
--- a/support/documentation/content/contributing/feedback/_index.fr.md
+++ /dev/null
@@ -1,9 +0,0 @@
-+++
-title="Donnez vos retours"
-description="Donnez vos retours"
-weight=30
-chapter=false
-+++
-
-Vous n'avez pas besoin de coder pour commencer à contribuer à ce plugin !
-Les autres formes de contributions sont également précieuses, parmis lesquelles : vous pouvez tester le plugin et remonter les bugs que vous rencontrez, partager vos retours d'expérience, proposer des fonctionnalités qui vous intéressent, remonter vos remarques sur l'interface, le design, etc.
diff --git a/support/documentation/content/contributing/feedback/_index.ja.md b/support/documentation/content/contributing/feedback/_index.ja.md
deleted file mode 100644
index 537e3ba6..00000000
--- a/support/documentation/content/contributing/feedback/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Give your feedback"
-description="Give your feedback"
-weight=30
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/contributing/translate/_index.de.md b/support/documentation/content/contributing/translate/_index.de.md
deleted file mode 100644
index f3119d07..00000000
--- a/support/documentation/content/contributing/translate/_index.de.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Übersätzen"
-description="Das Plugin übersätzen"
-weight=20
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/contributing/translate/_index.fr.md b/support/documentation/content/contributing/translate/_index.fr.md
deleted file mode 100644
index e6e8b64b..00000000
--- a/support/documentation/content/contributing/translate/_index.fr.md
+++ /dev/null
@@ -1,88 +0,0 @@
-+++
-title="Traduction"
-description="Traduire le plugin"
-weight=20
-chapter=false
-+++
-
-Vous pouvez contribuer à la traduction de ce plugin Peertube.
-Les traductions sont gérées par le logiciel [Weblate](https://weblate.org/),
-via [l'instance Weblate de Framasoft](https://weblate.framasoft.org/).
-
-{{% notice warning %}}
-Ne modifiez jamais directement les fichiers dans le dossier `languages` du plugin,
-vous risqueriez de créer des conflits.
-{{% /notice %}}
-
-## Comment faire
-
-* Créez-vous un compte: https://weblate.framasoft.org/accounts/register/
-* Validez votre email en cliquant sur le lien reçu
-* Choisissez votre mot de passe, et configurez votre compte
-* Allez sur le projet du plugin de tchat: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/
-* Choisissez la langue que vous voulez traduire
-* Il ne vous reste plus qu'à ajouter les traductions manquantes, ou corriger celles qui vous semblent erronées.
-
-{{% notice warning %}}
-Il peut y avoir des chaînes «assez techniques».
-Si vous n'êtes pas sûr⋅e à 100% du sens, ou de la traduction,
-il vaut mieux ne pas la traduire du tout ;
-ainsi la version anglaise s'affichera.
-{{% /notice %}}
-
-## Traduction de la documentation
-
-Pour l'instant, cela n'est pas encore géré dans Weblate. Je suis encore à la recherche de la bonne
-solution technique.
-
-Voir la page de documentation dédiée à la documentation.
-
-## Ajout d'une nouvelle langue
-
-Si la langue qui vous intéresse n'est pas présente, assurez-vous d'abord qu'elle est bien supportée par Peertube.
-Si c'est le cas, vous pouvez [ouvrir un ticket](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues)
-pour en demander l'ajout.
-
-## Ajout de nouveau segment / utilisation dans le code
-
-Si vous travaillez sur une nouvelle fonctionnalité, et que vous avez besoin de nouveaux segments,
-créez les directement dans Weblate.
-La version anglaise est obligatoire, commencez par celle-ci.
-
-Chaque segment est lié à une clé (par exemple `use_chat`).
-Choisissez une clé en anglais, suffisamment explicite, et en minuscule.
-
-Si vous avez besoin de tester vos localisations sans attendre la fusion venant de Weblate,
-vous pouvez modifier les fichiers `languages/*.yml`, mais évitez de les commit
-(pour minimiser le risque de conflits).
-
-### Utiliser un segment dans le code front-end
-
-Avant d'utiliser une chaîne en front-end, il faut déclarer une nouvelle constante dans `client/@types/global.d.ts`.
-La constante doit :
-
-* commencer par le préfixe "LOC_"
-* utiliser la clé de la chaîne, en majuscule
-* vous ne devez déclarer que son type, pas sa valeur
-
-Par exemple, pour utiliser "use_chat", vous devez déclarer :
-e, to use "use_chat", you have to declare:
-
-```typescript
-declare const LOC_USE_CHAT: string
-```
-
-Le script `build-client.js` va lire ce fichier `client/@types/global.d.ts`, chercher pour de telles constantes, et charger leurs valeurs depuis le fichier de langue.
-
-Vous pouvez maintenant utiliser `peertubeHelpers.translate(LOC_USE_CHAT)` dans votre code.
-
-### Utiliser un segment dans le code back-end
-
-En théorie, les seules parties du code qui ont besoin de traductions sont les déclarations de paramètres et la génération de données standardisées (ActivityPub, RSS, ...).
-Ici on a besoin de récupérer les chaînes anglaises à partir des clés de traduction.
-
-Note: vous ne devriez jamais avoir besoin d'autres langues que l'anglais pour le code backend.
-Les traductions doivent se faire coté front-end.
-
-Il y a un module `lib/loc.ts` qui fourni une function `loc()`.
-Passez juste la clé pour récupérer la phrase anglaise: `loc('diagnostic')`.
diff --git a/support/documentation/content/contributing/translate/_index.ja.md b/support/documentation/content/contributing/translate/_index.ja.md
deleted file mode 100644
index 31e6e68f..00000000
--- a/support/documentation/content/contributing/translate/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Translate"
-description="Translate the plugin"
-weight=20
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/credits/_index.de.md b/support/documentation/content/credits/_index.de.md
deleted file mode 100644
index 06f30400..00000000
--- a/support/documentation/content/credits/_index.de.md
+++ /dev/null
@@ -1,24 +0,0 @@
-+++
-title="Impressum"
-description="Impressum des Plugins"
-weight=90
-chapter=false
-+++
-
-[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json),
-[COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md)
-and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE)
-Dateien beinhalten die Lizenzinformationen für dieses Programm und seiner Abhängigkeiten.
-
-Das Plugin wird von [John Livingston](https://www.john-livingston.fr/) betrieben.
-
-Dank an David Revoy für seine Arbeit an dem Peertube Maskottchen, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).
-Das Charakterdesign steht unter CC-By-Lizenz, und die SVG-Dateien, die zur Erstellung einiger Logos und Avatare in diesem Plugin verwendet werden, sind GPLv3.0.
-
-Vielen Dank an [Framasoft](https://framasoft.org)für die Ermöglichung von [Peertube](https://joinpeertube.org/), für die finanzielle Unterstützung, und für das [Weblate](https://weblate.framasoft.org).
-
-Vielen Dank an [ritimo](https://www.ritimo.org/) für die finanzielle Unterstützung.
-
-Vielen Dank an [Code Lutin](https://www.codelutin.com/) und [Rétribution Copie Publique](https://copiepublique.fr/) für die finanzielle Unterstützung.
-
-Vielen Dank an [NlNet](https://nlnet.nl/) und die [NGI0 Entrust fund](https://nlnet.nl/entrust/) für die finanzielle Unterstützung.
\ No newline at end of file
diff --git a/support/documentation/content/credits/_index.fr.md b/support/documentation/content/credits/_index.fr.md
deleted file mode 100644
index 899db6fd..00000000
--- a/support/documentation/content/credits/_index.fr.md
+++ /dev/null
@@ -1,25 +0,0 @@
-+++
-title="Crédits"
-description="Crédits pour le plugin"
-weight=90
-chapter=false
-+++
-
-Les fichiers
-[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json),
-[COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md)
-et [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE)
-contiennent les informations sur la licence du présent logiciel (en anglais).
-
-Le plugin est maintenu par [John Livingston](https://www.john-livingston.fr/).
-
-Merci à David Revoy pour son travail sur la mascotte de Peertube, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).
-Le character design est en licence CC-By, et les fichiers SVG utilisés pour créer certains logos et avatars en GPLv3.0.
-
-Merci à [Framasoft](https://framasoft.org) pour avoir rendu [Peertube](https://joinpeertube.org/) possible, pour le support financier, et pour héberger les traductions du projet sur [leur instance Weblate](https://weblate.framasoft.org).
-
-Merci à [ritimo](https://www.ritimo.org/) pour le support financier.
-
-Merci à [Code Lutin](https://www.codelutin.com/) et à la [Rétribution Copie Publique](https://copiepublique.fr) pour le support financier.
-
-Merci à [NlNet](https://nlnet.nl/) et au [fond NGI0 Entrust](https://nlnet.nl/entrust/) pour le support financier.
diff --git a/support/documentation/content/credits/_index.ja.md b/support/documentation/content/credits/_index.ja.md
deleted file mode 100644
index 4f37e400..00000000
--- a/support/documentation/content/credits/_index.ja.md
+++ /dev/null
@@ -1,24 +0,0 @@
-+++
-title="クレジット"
-description="クレジット"
-weight=90
-chapter=false
-+++
-
-[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json)、
-[COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md)
-と [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE)
-ファイルには、このソフトウェアと使用しているライブラリなどのライセンス情報が含まれています。
-
-The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).
-
-Peertubeのマスコット[Sepia](https://www.davidrevoy.com/index.php?tag/peertube)を制作してくださったDavid Revoy氏に感謝致します。
-キャラクターデザインは、CC-Byライセンスであり、本プラグインの一部のロゴとアバターを作成する為に使用されているSVGファイルはGPLv3.0です。
-
-[Peertube](https://joinpeertube.org/)を実現し、また経済的な支援も行っている[Framasoft](https://framasoft.org)に感謝致します。
-
-経済的な支援を行って頂いている[ritimo](https://www.ritimo.org/)に感謝致します。
-
-経済的な支援を行って頂いている[Code Lutin](https://www.codelutin.com/)/[Rétribution Copie Publique](https://copiepublique.fr/)に感謝致します。
-
-経済的な支援を行って頂いている[NlNet](https://nlnet.nl/)/[NGI0 Entrust fund](https://nlnet.nl/entrust/)(https://copiepublique.fr/)に感謝致します。
diff --git a/support/documentation/content/documentation/_index.de.md b/support/documentation/content/documentation/_index.de.md
deleted file mode 100644
index 8eaf4b0e..00000000
--- a/support/documentation/content/documentation/_index.de.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Dokumentation"
-description="Plugin Dokumentation"
-weight=10
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/_index.en.md b/support/documentation/content/documentation/_index.en.md
deleted file mode 100644
index 64c8be9a..00000000
--- a/support/documentation/content/documentation/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Documentation"
-description="Plugin documentation"
-weight=10
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/_index.fr.md b/support/documentation/content/documentation/_index.fr.md
deleted file mode 100644
index c0926488..00000000
--- a/support/documentation/content/documentation/_index.fr.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Documentation"
-description="Documentation du plugin"
-weight=10
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/_index.ja.md b/support/documentation/content/documentation/_index.ja.md
deleted file mode 100644
index 7a284b2f..00000000
--- a/support/documentation/content/documentation/_index.ja.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="ドキュメンテーション"
-description="ドキュメンテーション"
-weight=10
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/_index.de.md b/support/documentation/content/documentation/admin/_index.de.md
deleted file mode 100644
index 7246cfe7..00000000
--- a/support/documentation/content/documentation/admin/_index.de.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Admin Dokumentation"
-description="Plugin Peertube Livechat Administration"
-weight=30
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/_index.en.md b/support/documentation/content/documentation/admin/_index.en.md
deleted file mode 100644
index c21e904a..00000000
--- a/support/documentation/content/documentation/admin/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Admin documentation"
-description="Plugin Peertube Livechat administration"
-weight=30
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/_index.fr.md b/support/documentation/content/documentation/admin/_index.fr.md
deleted file mode 100644
index c21e904a..00000000
--- a/support/documentation/content/documentation/admin/_index.fr.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Admin documentation"
-description="Plugin Peertube Livechat administration"
-weight=30
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/_index.ja.md b/support/documentation/content/documentation/admin/_index.ja.md
deleted file mode 100644
index c21e904a..00000000
--- a/support/documentation/content/documentation/admin/_index.ja.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Admin documentation"
-description="Plugin Peertube Livechat administration"
-weight=30
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/advanced/_index.de.md b/support/documentation/content/documentation/admin/advanced/_index.de.md
deleted file mode 100644
index 8dad74a3..00000000
--- a/support/documentation/content/documentation/admin/advanced/_index.de.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Fortgeschrittene Nutzung"
-description="Einige erweiterte Funktionen"
-weight=20
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/advanced/_index.en.md b/support/documentation/content/documentation/admin/advanced/_index.en.md
deleted file mode 100644
index c16a2312..00000000
--- a/support/documentation/content/documentation/admin/advanced/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Advanced usage"
-description="Some advanced features"
-weight=20
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/advanced/_index.fr.md b/support/documentation/content/documentation/admin/advanced/_index.fr.md
deleted file mode 100644
index c16a2312..00000000
--- a/support/documentation/content/documentation/admin/advanced/_index.fr.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Advanced usage"
-description="Some advanced features"
-weight=20
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/advanced/_index.ja.md b/support/documentation/content/documentation/admin/advanced/_index.ja.md
deleted file mode 100644
index c16a2312..00000000
--- a/support/documentation/content/documentation/admin/advanced/_index.ja.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Advanced usage"
-description="Some advanced features"
-weight=20
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/advanced/matterbridge.de.md b/support/documentation/content/documentation/admin/advanced/matterbridge.de.md
deleted file mode 100644
index 1e93f762..00000000
--- a/support/documentation/content/documentation/admin/advanced/matterbridge.de.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Matterbridge benutzen"
-description="Matterbridge als Brücke zu anderen Chats nutzen"
-weight=50
-chapter=false
-+++
-
-Hier ist ein Tutorial um Matterbridge mit diesem Plugin zu benutzen (nur auf englisch):
diff --git a/support/documentation/content/documentation/admin/advanced/matterbridge.fr.md b/support/documentation/content/documentation/admin/advanced/matterbridge.fr.md
deleted file mode 100644
index 9868ef9e..00000000
--- a/support/documentation/content/documentation/admin/advanced/matterbridge.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Using Matterbridge"
-description="Using Matterbridge to bridge with other chats"
-weight=50
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/admin/advanced/matterbridge.ja.md b/support/documentation/content/documentation/admin/advanced/matterbridge.ja.md
deleted file mode 100644
index 9868ef9e..00000000
--- a/support/documentation/content/documentation/admin/advanced/matterbridge.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Using Matterbridge"
-description="Using Matterbridge to bridge with other chats"
-weight=50
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/admin/advanced/xmpp_clients.de.md b/support/documentation/content/documentation/admin/advanced/xmpp_clients.de.md
deleted file mode 100644
index 70e0240d..00000000
--- a/support/documentation/content/documentation/admin/advanced/xmpp_clients.de.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Allow connection using XMPP clients"
-description="Allow connections using external XMPP accounts and XMPP clients"
-weight=30
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/admin/advanced/xmpp_clients.fr.md b/support/documentation/content/documentation/admin/advanced/xmpp_clients.fr.md
deleted file mode 100644
index dd2632e2..00000000
--- a/support/documentation/content/documentation/admin/advanced/xmpp_clients.fr.md
+++ /dev/null
@@ -1,216 +0,0 @@
-+++
-title="Clients XMPP"
-description="Autoriser la connexion en utilisant des clients XMPP."
-weight=30
-chapter=false
-+++
-
-Ce module de tchat repose sur le protocole XMPP, aussi connu sous le nom de Jabber.
-Il est donc possible de se connecter aux tchats en utilisant des
-[logiciels clients XMPP](https://fr.wikipedia.org/wiki/Clients_XMPP).
-Cela peut par exemple être utile pour faciliter les opérations de modération.
-
-Pour la documentation utilisateur⋅rice associé à ces fonctionnalités, veuillez
-vous référer à la page [de documentation utilisateur⋅rice](/peertube-plugin-livechat/fr/documentation/user/xmpp_clients/).
-
-{{% notice info %}}
-L'activation de ces fonctionnalités demande des changements de configuration
-sur le serveur, et sur les enregistrements DNS. Il n'est pas possible de les
-activer uniquement depuis l'interface de Peertube, et cela demande d'avoir
-quelques compétences basiques d'admin système.
-{{% /notice %}}
-
-## Connexion à votre compte Peertube
-
-{{% notice warning %}}
-Cette fonctionnalité n'est pas encore disponible, et viendra dans une
-prochaine version du plugin.
-{{% /notice %}}
-
-## Connexion en utilisant un compte XMPP externe
-
-Pour activer cette fonctionnalité, il va falloir paraméter votre serveur et vos
-enregistrements DNS, de sorte que les clients XMPP puissent trouver et accéder
-au serveur [Prosody](https://prosody.im) que ce plugin utilise en interne.
-
-### Paramètres du plugin
-
-Commencez par aller dans les paramètres du plugin livechat de votre instance,
-puis activez le paramètre «Autoriser les connexions aux salons via des comptes XMPP externes».
-En cochant celui-ci, de nouveaux champs apparaissent en dessous.
-
-Tout d'abord, le champs «Port Prosody serveur vers serveur». Celui-ci prend par
-défaut la valeur 5269, qui est le port standard pour ce service.
-Vous pouvez toutefois changer pour un autre port, si celui-ci est déjà utilisé
-sur votre serveur.
-
-Ensuite, le champs «Interfaces réseau pour les connexions serveur vers serveur»
-vous permet d'indiquer sur quelles interfaces réseau le serveur doit écouter.
-La valeur par défaut «*, ::» indique d'écouter sur toutes les addresses IP.
-Vous pouvez changer ces valeurs, si vous souhaiter n'écouter que sur certaines
-IP. La syntaxe est expliquée à coté du champs.
-
-Pour le champs «Dossiers des certificats», vous pouvez le laisser vide.
-Dans ce cas là, le plugin va générer automatiquement des certificats auto-signés.
-Il se pourrait que certains serveurs XMPP refusent de se connecter, cela dépendant
-de leur paramétrage.
-Dans ce cas, vous pouvez indiquer ici un chemin sur le serveur, dans lequel vous
-placerez des certificats à utiliser par le module.
-Charge à vous de les générer et de les renouveller.
-Voir plus loin pour une explication plus détaillée.
-
-### Pare-feu
-
-Vous devez ouvrir le port configuré (5269 par défaut) sur votre pare-feu.
-
-Si vous utilisez Docker pour votre Peertube, il faut modifier le fichier
-`docker-compose.yml` pour ouvrir le port 5269 du conteneur `peertube` au
-monde extérieur.
-
-### DNS
-
-Vous devez ajouter un [enregistrement DNS](https://prosody.im/doc/dns) permettant
-aux serveurs distant de trouver le composant «room.votre_instance.tld».
-
-Le plus simple pour cela est d'ajouter un enregistrement SRV pour le
-[sous-domaine](https://prosody.im/doc/dns#subdomains) «room»:
-
-* nom de l'enregistrement: _xmpp-server._tcp.room.votre_instance.tld. (remplacez «votre_instance.tld» par la valeur adéquate)
-* TTL: 3600
-* class: IN
-* SRV: 0
-* priority: 0
-* weight: 5
-* port: 5269 (adaptez si vous avez changé le port)
-* target: votre_instance.tld. (remplacez par la valeur adéquate)
-
-Attention à bien conserver le point après «votre_instance.tld».
-
-En utilisant la commande `dig` pour vérifier votre enregistrement,
-vous devriez obtenir un résultat similaire à celui-ci:
-
-```bash
-$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV
-0 5 5269 videos.john-livingston.fr.
-```
-
-Si vous **n'utilisez pas le port standard `5269`**, vous devez ajouter un autre enregistrement SRV pour
-`_xmpp-server._tcp.votre_instance.tld.` (pareil que précédemment, mais en enlevant le préfixe `room.`).
-Bien sûr, vous pouvez l'ajouter même si vous utilisez le port standard. Cela fonctionnera également.
-
-### Utilisation de certificats de confiance
-
-Les certificats auto-signés que le plugin utilise par défaut peuvent ne pas convenir à tous les serveurs distants.
-En effet, ceux-ci peuvent les refuser pour raison de sécurité.
-
-Il est possible d'utiliser des certificats validés par une autorité de certification.
-Cependant cela demande des connaissances d'administration système avancées.
-En effet, devant la multitude de cas possibles, il est impossible de documenter ici toutes les situations.
-La présente documentation va donc se contenter de vous expliquer le but à atteindre, et donner un example
-qui ne conviendra qu'à une situation «basique» (installation manuelle de Peertube, avec utilisation de letsencrypt).
-Si vous êtes dans une autre situation (installation Docker, certificats signés par une autre autorité, etc...), il
-vous faudra adapter la démarche.
-
-#### Principe de base
-
-À vous de générer des certificats valides pour les domaines `votre_instance.tld` et `room.votre_instance.tld`.
-Vous pouvez utiliser n'importe quelle [méthode supportées par Prosody](https://prosody.im/doc/certificates).
-
-Vous devez ensuite placer ces certificats dans un dossier qui sera accessible au user `peertube`, puis indiquer
-ce dossier dans le paramètre du plugin «Dossiers des certificats».
-
-{{% notice tip %}}
-Si vous voulez utiliser l'utilitaire ProsodyCtl (pour importer des certificats
-letsencrypts, générer des certificats, etc...), cet utilitaire est disponible
-(une fois Peertube démarré) en utilisant la commande qui suit (en adaptant le chemin vers votre dossier data Peertube,
-et en remplaçant «xxx» par les arguments que vous souhaitez passer à prosodyctl) :
-`sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`
-{{% /notice %}}
-
-Le plugin va vérifier une fois par jour si des fichiers ont été modifiés dans ce dossier, et recharger Prosody le cas échéant.
-
-#### Méthode dans le cas simple
-
-Nous supposons ici que votre installation de Peertube est «classique» (pas d'utilisation de Docker), et que les
-certificats sont générés par letsencrypt, en utilisant l'outils certbot.
-
-Tout d'abord, on va devoir créer un certificat pour le sous-domain `room.votre_instance.tld` : c'est l'uri du composant
-MUC (salons de discussion XMPP). Même si les connections se font sur `votre_instance.tld`, il va nous falloir un
-certificat valide pour ce sous-domaine.
-
-Commencez donc par paraméter une entrée DNS pour `room.votre_instance.tld`, qui pointe sur votre serveur.
-Vous pouvez tout à faire faire une entrée CNAME (ou une entrée A et une entrée AAAA).
-
-Ensuite, nous allons utiliser nginx (déjà installé pour votre Peertube) pour générer le certificat certbot.
-On va créer un nouveau site. Dans le fichier `/etc/nginx/site-available/room.peertube`, ajoutez:
-
-```nginx
-server {
- listen 80;
- listen [::]:80;
- server_name room.votre_instance.tld;
-
- location /.well-known/acme-challenge/ {
- default_type "text/plain";
- root /var/www/certbot;
- }
- location / { return 301 https://votre_instance.tld; }
-}
-```
-
-Ensuite on active ce site:
-
-```bash
-ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/
-systemc reload nginx
-```
-
-On prépare ensuite le dossier dans lequel on va plus tard importer les certificats.
-On suppose ici que vous avez déjà le plugin actif. On va créer le dossier suivant (s'il n'existe pas déjà),
-avec le user `peertube` pour être sûr qu'il n'y a pas de problème de droits:
-
-```bash
-sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs
-```
-
-Il faut maintenant configurer ce dossier dans les paramètres du plugin, pour «Dossiers des certificats».
-C'est important de le faire avant la suite, sinon le script d'import des certificats va les placer au mauvais endroit.
-
-On va configurer certbot pour qu'il importe les certificats générés dans le dossier de Prosody.
-On va pouvoir utiliser l'utilistaire ProsodyCtl packagé dans le plugin.
-
-Note: pour qu'il soit disponible, il faut que le plugin ai démarré au moins une fois.
-
-On va créer un fichier `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` contenant:
-
-```bash
-#!/bin/sh
-/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \
- --root \
- --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \
- cert import \
- room.votre_instance.tld votre_instance.tld /etc/letsencrypt/live
-```
-
-Puis on demande à générer le certificat :
-
-```bash
-certbot -d room.videos.john-livingston.fr
-```
-
-Si certbot vous propose plusieurs méthodes pour générer le certificat, choisissez «nginx».
-
-Normalement vous devriez maintenant trouver les certificats dans le dossier configuré.
-
-Note: la première fois que vous faites tout ça, il va falloir recharger Prosody. Le plus simple pour cela est de
-redémarrer Peertube.
-
-#### Méthode en cas d'utilisation de Docker
-
-Merci de vous référer à la documentation en anglais.
-
-### En cas de problème
-
-Si cela ne fonctionne pas, vous pouvez utiliser l'outils de diagnostic
-(un bouton se trouve en haut de la page des paramètres du plugin),
-et notamment regarder ce que dit la section «Prosody check».
diff --git a/support/documentation/content/documentation/admin/advanced/xmpp_clients.ja.md b/support/documentation/content/documentation/admin/advanced/xmpp_clients.ja.md
deleted file mode 100644
index 70e0240d..00000000
--- a/support/documentation/content/documentation/admin/advanced/xmpp_clients.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Allow connection using XMPP clients"
-description="Allow connections using external XMPP accounts and XMPP clients"
-weight=30
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/admin/settings.de.md b/support/documentation/content/documentation/admin/settings.de.md
deleted file mode 100644
index 62659190..00000000
--- a/support/documentation/content/documentation/admin/settings.de.md
+++ /dev/null
@@ -1,214 +0,0 @@
-+++
-title="Einstellungen"
-description="Plugin Peertube Livechat Einstellungen"
-weight=10
-chapter=false
-+++
-
-{{% notice note %}}
-Die Einstellungsseite des Plugins kann momentan nicht übersätzt werden und ist daher nur auf englisch verfügbar. Deswegen wird hier die englische Bezeichnung der Knöpfe, Abschnitte, etc. verwendet. Für weitere Informationen bitte [dieses Problem](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/115) kontrollieren.
-{{% /notice %}}
-
-Dieser Abschnitt beschreibt die Einstellungsseite des Plugins.
-
-## List existing rooms (Bestehende Räume auflisten)
-
-Wenn der «Bestehende Räume auflisten» («List rooms») Knopf gedrückt wird, werden alle bestehenden Chaträume aufgelistet.
-Sie können die Chaträume damit finden und moderieren.
-
-## Federation
-
-Following settings concern the fedration with other Peertube instances,
-and other fediverse softwares.
-
-### Don't display remote chats
-
-By checking this setting, your instance will never display chats from remote videos.
-
-### Don't publish chat information
-
-By checking this setting, your instance will not publish chat information on the fediverse.
-Remote Peertube instances will not be aware that they are chat rooms associated to your videos.
-
-**Please note**: if you already had chats in progress, it is possible that the information has already been published.
-You will have to wait for the next video update before the information is unpublished.
-Also, if you disable this setting, you'll have to wait for the videos to be updated before the information are
-published again. This update happens among others when a live event resumes or stops.
-
-**Please note**: this setting only affects the publication of information via the ActivityPub protocol.
-It will not prevent a remote application from otherwise detecting the presence of chats, and trying to connect to it.
-
-## Chat behaviour (Chatverhalten)
-
-### Room type (Raumtyp)
-
-Sie können hier wählen, ob Sie für jedes Video einen eigenen Raum haben möchten oder ob Sie sie nach Kanälen gruppieren möchten.
-
-### Automatically open the chat (Chat automatisch öffnen)
-
-Wenn ausgewählt wird der Chat geladen, sobald Sie auf der Videoseite sind.
-
-### Show the «open in new window» button (Zeige den «open in new window» Knopf)
-
-Wenn Ihr Webchat-Tool in einem eigenen Fenster geöffnet werden kann, können Sie einen Knopf hinzufügen um dies zu tun.
-
-Wenn Sie ein externes Web-Chat-Tool verwenden (siehe den Chat-Modus «Use an external web chat tool»), funktioniert es möglicherweise nicht im Vollbildmodus (z. B. wenn es auf das übergeordnete Fenster zugreifen muss, um Videoinformationen zu erhalten). Sie können diese Schaltfläche deaktivieren, indem Sie das Häkchen bei dieser Einstellung entfernen.
-
-### Show the «share chat link» button (Zeige den Chat Link teilen Knopf)
-
-Diese Funktion aktiviert das Dialogfenster «Chat-Link teilen». Mit diesem Fenster können Sie URLs generieren, um dem Chat beizutreten.
-Der Chat kann angepasst werden (schreibgeschützter Modus, Verwendung des aktuellen Themas, ...).
-
-Sie können zum Beispiel einen schreibgeschützten Link generieren und diesen in OBS verwenden, um den Chat in Ihren Live-Stream zu integrieren!
-
-Diese Einstellung ermöglicht es Ihnen, festzulegen, wer auf dieses Fenster zugreifen kann.
-
-### Chats are only available for local videos (Chats sind nur für lokale Videos verfügbar)
-
-Peertube ist ein gemeinschaftlicher Dienst. Plugins sind nur auf dem Server verfügbar, auf dem Sie sich gerade befinden.
-Wenn Sie also ein externes Video ansehen, steht der Webchat nur Ihnen zur Verfügung, nicht aber den Nutzern der anderen Instanzen.
-Daher ist diese Option standardmäßig aktiviert und verhindert die Anzeige eines Webchats für entfernte Videos.
-
-### Users can activate the chat for their lives (Nutzer können den Chat für ihre Live-Videos aktivieren)
-
-Wenn diese Option aktiviert ist, haben alle Live-Videos in ihren Eigenschaften ein Feld zur Aktivierung des Webchats.
-Der Videoeigentümer kann Webchats aktivieren.
-
-### Activate chat for all lives (Den Chat für alle Live-Videos aktivieren)
-
-Der Chat wird für alle Peertube-Live-Videos auf Ihrer Instanz verfügbar sein.
-
-### Activate chat for all non-lives (Aktiviere den Chat für alle Nicht-Live-Videos)
-
-Der Chat wird für alle Peertube-Videos verfügbar sein, die nicht live sind.
-
-### Activate chat for these videos (Aktivieren Sie den Chat für diese Videos)
-
-Sie können einige UUIDs auswählen, für die der Chat verfügbar sein soll.
-Wenn Sie die Funktion für alle Videos nicht aktivieren möchten, können Sie dieses Feld verwenden, um die UUIDs der Videos aufzulisten.
-Sie können Kommentare hinzufügen: alles, was dem Zeichen # entspricht, wird entfernt, ebenso wie leere Zeilen.
-
-### Hide the chat for anonymous users (Den Chat für anonyme Benutzer ausblenden)
-
-Wenn diese Option aktiviert ist, können anonyme Peertube-Nutzer den Chat nicht sehen.
-
-Hinweis: Im Moment blendet diese Funktion einfach den Chat aus.
-In einer zukünftigen Version wird der Chat durch eine Meldung ersetzt, die besagt "Bitte melden Sie sich an, um [...]".
-Siehe [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) für weitere Informationen.
-
-## Theming
-
-### ConverseJS theme (ConverseJS Thema)
-
-Sie können wählen, welches Thema Sie für ConverseJS verwenden möchten:
-
-- Peertube-Theme: Dies ist ein spezielles Thema, das speziell für die Integration von Peertube erstellt wurde.
-- Standard-ConverseJS-Theme: Dies ist das Standard-Thema von ConverseJS.
-- ConverseJS-concord-Theme: Dies ist ein Thema, das von ConverseJS bereitgestellt wird.
-
-### Automatic color detection (Automatische Farberkennung)
-
-Versucht, die Farben aus dem aktuellen Thema des Benutzers automatisch zu erkennen.
-Wenn diese Einstellung aktiviert ist, versucht das Plugin, die Farben für das Chat-Thema automatisch zu erkennen.
-Wenn dies für einige Ihrer Peertube-Themen nicht korrekt funktioniert, können Sie diese Option deaktivieren.
-
-### Webchat iframe style attribute (Webchat Iframe Stil-Attribute)
-
-Sie können einige benutzerdefinierte Stile hinzufügen, die dem Iframe hinzugefügt werden.
-Zum Beispiel eine benutzerdefinierte Breite:
-
-```width:400px;```
-
-## Chat server advanced settings (Erweiterte Einstellungen des Chatservers)
-
-### Use system Prosody (System Prosody benutzen)
-
-Das Plugin wird mit einem AppImage geliefert, das zum Ausführen des [Prosody XMPP-Servers] (https://prosody.im) verwendet wird.
-Wenn dieses AppImage nicht funktioniert, können Sie auf das Prosody-Paket zurückgreifen, das für Ihren Server erstellt wurde. Installieren Sie einfach das Paket `prosody`.
-
-Diese Einstellung sollte nur verwendet werden, wenn das Plugin defekt ist und auf einen Patch wartet.
-
-### Disable Websocket (Websocket deaktivieren)
-
-Mit Peertube >= 5.0.0 versucht dieses Plugin, eine Websocket-Verbindung zum Chatten zu verwenden.
-Wenn der Browser oder die Verbindung des Benutzers nicht kompatibel ist, wird der Browser automatisch auf das BOSH-Protokoll zurückgreifen.
-
-Aber in seltenen Fällen kann dies fehlschlagen. Zum Beispiel, wenn Sie einen Reverse Proxy vor Peertube haben, der keine
-Websocket-Verbindung für Plugins erlaubt.
-In diesem Fall können Sie diese Einstellungen überprüfen, um Websocket-Verbindungen zu deaktivieren.
-
-### Prosody port
-
-Dies ist der Port, den der Prosody-Server verwenden wird. Standardmäßig ist er auf 52800 eingestellt. Wenn Sie einen anderen Port verwenden möchten, ändern Sie einfach den Wert hier.
-
-### Peertube URL for API calls (Peertube-URL für API-Aufrufe)
-
-In einigen seltenen Fällen kann Prosody die API von Peertube nicht über seine öffentliche Adresse (URI) aufrufen.
-Wenn Sie solche Probleme haben (siehe das Ergebnis des Diagnosetools), können Sie versuchen, den Wert
-dieser Einstellung auf `http://localhost:9000` oder `http://127.0.0.1:9000` zu setzen
-zu setzen (unter der Annahme, dass Ihr Peertube auf Port `9000` hört). Überprüfen Sie das in Ihrer Peertube `config/production.yaml` Datei).
-
-### Log rooms content by default (Standardmäßig Inhalte von Räumen protokollieren)
-
-Wenn diese Option aktiviert ist, wird der Rauminhalt standardmäßig auf dem Server archiviert.
-Das bedeutet, dass Benutzer, die dem Chat beitreten, Nachrichten sehen, die vor ihrem Beitritt gesendet wurden.
-
-Bitte beachten Sie, dass es immer möglich ist, die Inhaltsprotokollierung für einen bestimmten Raum zu aktivieren/deaktivieren,
-indem Sie seine Eigenschaften bearbeiten.
-
-### Room logs expiration (Ablaufzeit von Raumprotokollen)
-
-Hier können Sie die Ablaufzeit für Raumprotokolle einstellen.
-Siehe die Online-Hilfe für akzeptierte Werte.
-
-### Enable connection to room using external XMPP accounts
-
-By enabling this option, it will be possible to connect to rooms using external XMPP accounts and XMPP clients.
-Warning, enabling this option can request extra server and DNS configuration.
-Please refer to the documentation: [Enable external XMPP account connections](/peertube-plugin-livechat/documentation/admin/advanced/xmpp_clients/).
-
-### Prosody server to server port
-
-The port that will be used for XMPP s2s (server to server) connections.
-You should use the standard 5269 port.
-Otherwise you should [setup a specific DNS record](https://prosody.im/doc/s2s).
-
-### Server to server network interfaces
-
-The network interfaces to listen on for server to server connections.
-List of IP to listen on, coma separated (spaces will be stripped).
-You can use «*» to listen on all IPv4 interfaces, and «::» for all IPv6.
-Examples:
-
-- `*, ::`
-- `*`
-- `127.0.0.1, ::1`
-- `172.18.0.42`
-
-### Certificates directory
-
-If this field is empty, the plugin will generate and use self-signed certificates.
-If you want to use other certificates, just specify here the folder where
-Prosody can find them. Note: the `peertube` user must have read access to this directory.
-
-### Enable client to server connections (Aktivieren von Client-Server-Verbindungen)
-
-Diese Einstellung ermöglicht es XMPP-Clients, sich mit dem eingebauten Prosody-Server zu verbinden.
-Im Moment erlaubt diese Option **nur Verbindungen von localhost-Clients**.
-
-Zum Beispiel kann diese Option einer Instanz von Matterbridge (sobald sie einen anonymen Login verwenden kann) *auf demselben Rechner* erlauben, Ihren Chat mit einem anderen Dienst wie einem Matrix-Raum zu verbinden.
-
-#### Prosody client to server port (Prosody Client-Server-Verbindungsport)
-
-Der Port, der vom c2s-Modul des eingebauten Prosody-Servers verwendet wird.
-XMPP-Clients sollen diesen Port für die Verbindung verwenden.
-Ändern Sie ihn, wenn dieser Port bereits auf Ihrem Server verwendet wird.
-
-### Enable external XMPP components (Aktivieren externer XMPP-Komponenten)
-
-Diese Einstellung ermöglicht es externen XMPP-Komponenten, sich mit dem Server zu verbinden.
-Im Moment erlaubt diese Option **nur Verbindungen von localhost-Komponenten**.
-
-Diese Funktion könnte genutzt werden, um Bridges oder Bots zu verbinden.
-
-Weitere Informationen über externe Prosody-Komponenten [hier](https://prosody.im/doc/components).
\ No newline at end of file
diff --git a/support/documentation/content/documentation/admin/settings.en.md b/support/documentation/content/documentation/admin/settings.en.md
deleted file mode 100644
index fe7e9583..00000000
--- a/support/documentation/content/documentation/admin/settings.en.md
+++ /dev/null
@@ -1,210 +0,0 @@
-+++
-title="Settings"
-description="Plugin Peertube Livechat settings"
-weight=10
-chapter=false
-+++
-
-This section describes the plugin settings page.
-
-## List existing rooms
-
-When pressing the «List rooms» button, all existing chatrooms will be listed.
-You can then find them and moderated them.
-
-## Federation
-
-Following settings concern the fedration with other Peertube instances,
-and other fediverse softwares.
-
-### Don't display remote chats
-
-By checking this setting, your instance will never display chats from remote videos.
-
-### Don't publish chat information
-
-By checking this setting, your instance will not publish chat information on the fediverse.
-Remote Peertube instances will not be aware that they are chat rooms associated to your videos.
-
-**Please note**: if you already had chats in progress, it is possible that the information has already been published.
-You will have to wait for the next video update before the information is unpublished.
-Also, if you disable this setting, you'll have to wait for the videos to be updated before the information are
-published again. This update happens among others when a live event resumes or stops.
-
-**Please note**: this setting only affects the publication of information via the ActivityPub protocol.
-It will not prevent a remote application from otherwise detecting the presence of chats, and trying to connect to it.
-
-## Chat behaviour
-
-### Room type
-
-You can choose here to have separate rooms for each video, or to group them by channel.
-
-### Automatically open the chat
-
-If checked, the chat will be loaded as soon as you are on the video page.
-
-### Show the «open in new window» button
-
-If your web chat tool can be opened in a full window, you can add a button to do so.
-
-If you are using an external web chat tool (see the chat mode «Use an external web chat tool»), maybe it will not work in fullscreen (for example if it needs to access the parent window to get video informations). You can disable this button by unchecking this settings.
-
-### Show the «share chat link» button
-
-This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.
-The chat can be customized (readonly mode, use the current theme, ...).
-
-You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!
-
-This settings allows you to choose who can access this modal.
-
-### Chats are only available for local videos
-
-Peertube is a federated service. Plugins are only available on the server you are browsing.
-So, if you are watching a remote video, only you will have the webchat, not users from remote instances.
-Therefore, this options is checked by default and prevent displaying a webchat for remote videos.
-
-### Users can activate the chat for their lives
-
-If checked, all live videos will have a checkbox in their properties for enabling the web chat.
-The video owner will be able to activate web chats.
-
-### Activate chat for all lives
-
-The chat will be available for all Peertube live videos on your instance.
-
-### Activate chat for all non-lives
-
-The chat will be available for all Peertube video that are not live.
-
-### Activate chat for these videos
-
-You can choose some UUIDs for which the chat will be available.
-If you don't want te enable the feature for all videos, you can use this field to list videos UUIDs.
-You can add comments: everything rights to the # character will be stripped off, as for empty lines.
-
-### Hide the chat for anonymous users
-
-If checked, anonymous Peertube users won't see the chat.
-
-Note: for now this feature simply hide the chat.
-In a future release, the chat will be replaced by a message saying «please log in to [...]».
-See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.
-
-## Theming
-
-### ConverseJS theme
-
-You can choose which theme to use for ConverseJS:
-
-- Peertube theme: this is a special theme, made especially for peertube's integration.
-- Default ConverseJS theme: this is the default ConverseJS theme.
-- ConverseJS concord theme: this is a theme provided by ConverseJS.
-
-### Automatic color detection
-
-Try to autodetect colors from user's current theme.
-When this settings is enabled, the plugin tries to auto-detect colors to apply to the chat theme.
-If this is not correctly working for some of your Peertube theme, you can disable this option.
-
-### Webchat iframe style attribute
-
-You can add some custom styles that will be added to the iframe.
-For example a custom width:
-
-```width:400px;```
-
-## Chat server advanced settings
-
-### Use system Prosody
-
-The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).
-If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.
-
-This settings should only be used if the plugin is broken, and waiting for a patch.
-
-### Disable Websocket
-
-With Peertube >= 5.0.0, this plugin try to use Websocket connection for chatting.
-If the user's browser or connection is not compatible, the browser will automatically fallback on the BOSH protocol.
-
-But in rare case, this can fail. For example if you have a reverse proxy in front of Peertube that does not
-allow Websocket connection for plugins.
-In this case, you can check this setting to disable Websocket connections.
-
-### Prosody port
-
-This is the port that the Prosody server will use. By default it is set to 52800. If you want to use another port, just change the value here.
-
-### Peertube URL for API calls
-
-In some rare cases, Prosody can't call Peertube's API from its public URI.
-If you have such issues (see the diagnostic tool result), you can try to set the value
-of this settings to `http://localhost:9000` or `http://127.0.0.1:9000`
-(supposing your Peertube is listening on port `9000`. Check that in your Peertube `config/production.yaml` file).
-
-### Log rooms content by default
-
-If checked, room content will be archived on the server by default.
-This means that users who join the chan will see messages sent before they have joined.
-
-Please note that it is always possible to enable/disable the content logging for a specific room,
-by editing its properties.
-
-### Room logs expiration
-
-You can set here the expiration delay for room logs.
-See the online help for accepted values.
-
-### Enable connection to room using external XMPP accounts
-
-By enabling this option, it will be possible to connect to rooms using external XMPP accounts and XMPP clients.
-Warning, enabling this option can request extra server and DNS configuration.
-Please refer to the documentation: [Enable external XMPP account connections](/peertube-plugin-livechat/documentation/admin/advanced/xmpp_clients/).
-
-### Prosody server to server port
-
-The port that will be used for XMPP s2s (server to server) connections.
-You should use the standard 5269 port.
-Otherwise you should [setup a specific DNS record](https://prosody.im/doc/s2s).
-
-### Server to server network interfaces
-
-The network interfaces to listen on for server to server connections.
-List of IP to listen on, coma separated (spaces will be stripped).
-You can use «*» to listen on all IPv4 interfaces, and «::» for all IPv6.
-Examples:
-
-- `*, ::`
-- `*`
-- `127.0.0.1, ::1`
-- `172.18.0.42`
-
-### Certificates directory
-
-If this field is empty, the plugin will generate and use self-signed certificates.
-If you want to use other certificates, just specify here the folder where
-Prosody can find them. Note: the `peertube` user must have read access to this directory.
-
-### Enable client to server connections
-
-This setting enable XMPP clients to connect to the built-in Prosody server.
-For now, this option **only allows connections from localhost clients**.
-
-As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.
-
-#### Prosody client to server port
-
-The port that will be used by the c2s module of the built-in Prosody server.
-XMPP clients shall use this port to connect.
-Change it if this port is already in use on your server.
-
-### Enable external XMPP components
-
-This settings enable XMPP external components to connect to the server.
-For now, this option **only allows connections from localhost components**.
-
-This feature could be used to connect bridges or bots.
-
-More informations on Prosody external components [here](https://prosody.im/doc/components).
diff --git a/support/documentation/content/documentation/admin/settings.fr.md b/support/documentation/content/documentation/admin/settings.fr.md
deleted file mode 100644
index aa2c45a1..00000000
--- a/support/documentation/content/documentation/admin/settings.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Settings"
-description="Plugin Peertube Livechat settings"
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/admin/settings.ja.md b/support/documentation/content/documentation/admin/settings.ja.md
deleted file mode 100644
index aa2c45a1..00000000
--- a/support/documentation/content/documentation/admin/settings.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Settings"
-description="Plugin Peertube Livechat settings"
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/installation/_index.de.md b/support/documentation/content/documentation/installation/_index.de.md
deleted file mode 100644
index caf1e39b..00000000
--- a/support/documentation/content/documentation/installation/_index.de.md
+++ /dev/null
@@ -1,18 +0,0 @@
-+++
-title="Installationsanleitung"
-description="Plugin peertube-plugin-livechat Installationsanleitung"
-weight=10
-chapter=false
-+++
-
-{{% notice info %}}
-Bevor Sie auf eine Hauptversion aktualisieren, lesen Sie bitte die Versionshinweise und die Liste der wichtigsten Änderungen : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
-{{% /notice %}}
-
-{{% notice tip %}}
-Um das Plugin zu installieren oder zu aktualisieren **einfach das Peertube Web-Admin-Interface benutzen**.
-{{% /notice %}}
-
-Hier sind weitere, spezifischere Anweisungen:
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/documentation/installation/_index.fr.md b/support/documentation/content/documentation/installation/_index.fr.md
deleted file mode 100644
index fd293691..00000000
--- a/support/documentation/content/documentation/installation/_index.fr.md
+++ /dev/null
@@ -1,18 +0,0 @@
-+++
-title="Documentation d'installation"
-description="Installation du plugin peertube-plugin-livechat"
-weight=10
-chapter=false
-+++
-
-{{% notice info %}}
-Avant de mettre à jour le plugin vers une nouvelle version majeure, merci de lire les notes de version, et la liste des éventuelless modifications non rétro-compatibles : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
-{{% /notice %}}
-
-{{% notice tip %}}
-Pour installer ou mettre à jour ce plugin, **utilisez simplement l'interface web d'administration de votre Peertube**.
-{{% /notice %}}
-
-Vous trouverez ci-dessous d'autres instructions :
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/documentation/installation/_index.ja.md b/support/documentation/content/documentation/installation/_index.ja.md
deleted file mode 100644
index 10e53e81..00000000
--- a/support/documentation/content/documentation/installation/_index.ja.md
+++ /dev/null
@@ -1,83 +0,0 @@
-+++
-title="Installation guide"
-description="Plugin peertube-plugin-livechat installation guide"
-weight=10
-chapter=false
-+++
-
-{{% notice info %}}
-メジャーリリースのアップデート実施前に、リリースノートをお読み頂き、変更をご確認ください : [変更履歴](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
-{{% /notice %}}
-
-本プラグインをインストールまたはアップデートは、PeerTubeの管理画面から実施できます。
-
-## 重要事項
-
-v6.0.0から、このプラグインはProsodyのインストールが不要になりました。
-
-このバージョンより前の環境で本プラグインを既にご使用中で、手動でProsodyをインストールした場合は、Prosodyのアンインストールが可能です。
-
-Prosodyが内蔵されたカスタムDockerイメージをご利用の場合は、公式のPeerTube Dockerイメージに切り替えることができるようになりました。
-
-## Known issues: CPU compatibility
-
-The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.
-It is not compatible with arm64 and other CPU architectures.
-
-To use the plugin, you will have to manually install Prosody on your server
-(see below).
-
-Note: the plugin requires Prosody >= 0.12.0.
-If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.
-
-Once it is done, you have to check `Use system Prosody` in the plugin settings.
-
-### On non-docker Peertube installation
-
-For standard installation, you just have to install the official `prosody` package
-for your linux distribution.
-
-For example, on Debian/Ubuntu:
-
-```bash
-sudo apt install prosody
-```
-
-You can then disable the service that starts automatically when you install
-Prosody (the plugin will launch a Prosody process, there is no need for the
-service to run).
-For example, on Debian/Ubuntu (and other Systemd based linux distributions):
-
-```bash
-sudo systemctl disable prosody && sudo systemctl stop prosody
-```
-
-Warning: do not disable Prosody if it is used for another service on your server,
-like for example Jitsi.
-
-### Docker
-
-You will have to generate a Peertube image that includes Prosody in the same
-container that Peertube.
-I know this is not the standard way to do this with Docker, but keep in mind it
-is a temporary workaround.
-
-To generate and use such an image, please refer to the Docker documentation.
-The Docker file to generate the image should be:
-
-```Docker
-FROM chocobozzz/peertube:production-bullseye
-
-RUN apt -y update && apt install -y prosody && apt -y clean
-```
-
-### Yunohost
-
-You have to disable `metronome` (the XMPP server provided by Yunohost), and
-install `prosody`.
-
-This is already done by the Yunohost Peertube application, as it was required for the
-plugin before the v6.0.0.
-But it may be removed in a near feature (to avoid drawbacks of this method).
-I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks,
-and maximize compatibility.
diff --git a/support/documentation/content/documentation/installation/cpu_compatibility.de.md b/support/documentation/content/documentation/installation/cpu_compatibility.de.md
deleted file mode 100644
index ddff053b..00000000
--- a/support/documentation/content/documentation/installation/cpu_compatibility.de.md
+++ /dev/null
@@ -1,59 +0,0 @@
-+++
-title="Bekannte Probleme: CPU Kompatibilität"
-description="Derzeit funktioniert das Plugin standartmäßig nur für x86_64 CPU Architekturen. Hier sind einige Anleitungen für andere CPU Architekturen."
-weight=10
-chapter=false
-+++
-
-Das im Plugin enthaltene Prosody AppImage funktioniert nur mit x86_64 und arm64 CPU Architekturen.
-Es ist nicht kompatibel mit anderen CPU-Architekturen.
-
-Um das Plugin zu verwenden, müssen Sie Prosody manuell auf Ihrem Server installieren
-(siehe unten).
-
-Note: the plugin requires Prosody >= 0.12.0.
-If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.
-
-Sobald dies geschehen ist, müssen Sie in den Plugin-Einstellungen das Häkchen bei `Use system Prosody` setzen.
-
-## Nicht-Docker Peertube installation
-
-Für die Standardinstallation müssen Sie nur das offizielle `prosody`-Paket für Ihre Linux-Distribution installieren.
-
-Zum Beispiel, auf Debian/Ubuntu:
-
-```bash
-sudo apt install prosody
-```
-
-Sie können dann den Dienst deaktivieren, der automatisch startet, wenn Sie Prosody installieren (das Plugin startet einen Prosody-Prozess, der Dienst muss nicht dauerhaft laufen).
-Zum Beispiel unter Debian/Ubuntu (und anderen Systemd-basierten Linux-Distributionen):
-
-```bash
-sudo systemctl disable prosody && sudo systemctl stop prosody
-```
-
-Achtung: Deaktivieren Sie Prosody nicht, wenn es für einen anderen Dienst auf Ihrem Server verwendet wird, wie zum Beispiel Jitsi.
-
-## Docker
-
-Sie müssen ein Peertube-Image generieren, das Prosody in demselben
-Container enthält, der auch Peertube beinhaltet.
-Ich weiß, dass dies nicht der Standardweg ist, um dies mit Docker zu tun, aber bedenken Sie, dass eine vorübergehende Lösung ist.
-
-Um ein solches Image zu erzeugen und zu verwenden, lesen Sie bitte die Docker-Dokumentation.
-Die Docker-Datei, um das Paket zu erzeugen, sollte wie folgt sein:
-
-```Docker
-FROM chocobozzz/peertube:production-bullseye
-
-RUN apt -y update && apt install -y prosody && apt -y clean
-```
-
-## Yunohost
-
-Sie müssen `metronome` (der von Yunohost bereitgestellte XMPP-Server) deaktivieren, und `prosody` installieren.
-
-Dies wird bereits von der Yunohost Peertube Anwendung gemacht, da es für das Plugin vor v6.0.0 erforderlich war.
-Es kann aber sein, dass es in naher Zukunft entfernt wird (um die Nachteile dieser Methode zu vermeiden).
-Ich muss mit dem Yunohost Team diskutieren, um zu entscheiden, wie wir die Nachteile minimieren können, und die Kompatibilität zu maximieren.
\ No newline at end of file
diff --git a/support/documentation/content/documentation/installation/cpu_compatibility.fr.md b/support/documentation/content/documentation/installation/cpu_compatibility.fr.md
deleted file mode 100644
index 96d609bc..00000000
--- a/support/documentation/content/documentation/installation/cpu_compatibility.fr.md
+++ /dev/null
@@ -1,70 +0,0 @@
-+++
-title="Problème connu: compatibilité CPU"
-description="Pour l'instant le plugin ne supporte de base que les architectures CPU x86_64 et arm64. Veuillez trouver ici des instructions pour le faire fonctionner sur d'autres architectures CPU."
-weight=10
-chapter=false
-+++
-
-L'AppImage Prosody inclue dans le plugin ne fonctionne que sur des CPU x86_64 et arm64.
-Elle n'est pas compatible avec d'autres architectures CPU.
-
-Pour utiliser le plugin, vous allez devoir installer manuellement Prosody sur
-votre serveur (voir plus bas).
-
-Note: la version de Prosody devrait être supérieure ou égale à 0.12.0.
-Si vous utilisez une version plus ancienne, il pourrait y avoir des bugs sur la fédération du tchat,
-et d'autres comportements inattendus.
-
-Une fois cela fait, vous aurez à cocher le paramètre `Use system Prosody` du plugin.
-
-## Installation autres que Docker
-
-Pour les installations standard, vous avez juste à installer le paquet `prosody` officiellement
-disponible pour votre distribution linux.
-
-Par exemple, sur Debian/Ubuntu:
-
-```bash
-sudo apt install prosody
-```
-
-Vous pouvez alors désactiver le service qui démarre automatiquement quand vous
-installé le paquet (le plugin va lancer son propre processus Prosody, et n'a pas
-besoin que le service tourne sur le serveur).
-Par exemple, sur Debian/Ubuntu (et les autres distributions se basant sur Systemd):
-
-```bash
-sudo systemctl disable prosody && sudo systemctl stop prosody
-```
-
-Attention: ne désactivez pas Prosody s'il est utilisé par un autre service sur
-votre serveur, par exemple pour Jitsi.
-
-## Docker
-
-Vous allez devoir générer une image de Peertube qui inclu Prosody dans le même
-conteneur que Peertube.
-Je sais que ce n'est pas la façon de faire standard avec Docker, mais gardez
-en tête que ceci est une solution de contournement temporaire.
-
-Pour générer cette image, merci de vous référer à la documentation de Docker.
-Le fichier Docker pour générer l'image devrait être:
-
-```Docker
-FROM chocobozzz/peertube:production-bullseye
-
-RUN apt -y update && apt install -y prosody && apt -y clean
-```
-
-## Yunohost
-
-Vous avez à désactiver `metronome` (le serveur XMPP utilisé par Yunohost),
-et installer`prosody`.
-
-Ceci est déjà fait par l'application Yunohost Peertube, étant donné que c'était
-un pré-requis pour les version du plugin antérieures à la v6.0.0.
-
-Mais il se pourrait que ce soit retiré de l'application Yunohost Peertube dans un
-futur proche (pour éviter les inconvénients de cette méthode).
-Je dois discuter avec l'équipe Yunohost, pour décider de la bonne façon de faire
-pour minimiser les inconvénients et maximiser la compatibilité.
diff --git a/support/documentation/content/documentation/installation/cpu_compatibility.ja.md b/support/documentation/content/documentation/installation/cpu_compatibility.ja.md
deleted file mode 100644
index 80764739..00000000
--- a/support/documentation/content/documentation/installation/cpu_compatibility.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Known issues: CPU Compatibility"
-description="For now, the plugin only works out of the box for x86_64 CPU architecture. Here are some instructions for other CPU architectures."
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.de.md b/support/documentation/content/documentation/installation/upgrade_before_6.0.0.de.md
deleted file mode 100644
index 63b01411..00000000
--- a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.de.md
+++ /dev/null
@@ -1,14 +0,0 @@
-+++
-title="Aktualisieren von Versionen vor 6.0.0"
-description="Wichtige Hinweise zum aktualisieren von älteren Versionen."
-weight=50
-chapter=false
-+++
-
-## WICHTIGER HINWEIS
-
-Seit Version v6.0.0 benötigt dieses Plugin keine andere Prosody-Installation.
-
-Falls Sie dieses Plugin vor dieser Version benutzt haben und Sie Prosody manuell installiert haben, können Sie Prosody sicher deinstallieren.
-
-Falls Sie ein eigenes Peertube Docker Paket genutzt haben, welches Prosody eingebettet hatte, können Sie zu den offiziellen Peertube Paketen zurück wechseln.
diff --git a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.fr.md b/support/documentation/content/documentation/installation/upgrade_before_6.0.0.fr.md
deleted file mode 100644
index c4a3711a..00000000
--- a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.fr.md
+++ /dev/null
@@ -1,14 +0,0 @@
-+++
-title="Mise à jour depuis une version antérieure à 6.0.0"
-description="Notes importantes pour la mise à jour depuis une ancienne version du plugin."
-weight=50
-chapter=false
-+++
-
-## IMPORTANT NOTE
-
-Depuis la version v6.0.0, ce plugin ne nécessite plus l'installation de Prosody.
-
-Si vous utilisiez ce plugin avant, et que vous aviez installé Prosody manuellement, vous pouvez le désinstaller en tout sécurité.
-
-Si vous utilisiez l'image docker spéciale de Peertube (qui incluais Prosody), vous pouvez basculer sur l'image officielle de Peertube.
diff --git a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.ja.md b/support/documentation/content/documentation/installation/upgrade_before_6.0.0.ja.md
deleted file mode 100644
index 2bfc0e2d..00000000
--- a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Upgrade from version older than 6.0.0"
-description="Important notes when upgrading for an older version."
-weight=50
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/user/_index.de.md b/support/documentation/content/documentation/user/_index.de.md
deleted file mode 100644
index ca238fe3..00000000
--- a/support/documentation/content/documentation/user/_index.de.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Benutzer Dokumentation"
-description="Plugin peertube-plugin-livechat Benutzer Dokumentation"
-weight=40
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/user/_index.en.md b/support/documentation/content/documentation/user/_index.en.md
deleted file mode 100644
index 9e60bba5..00000000
--- a/support/documentation/content/documentation/user/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="User documentation"
-description="Plugin peertube-plugin-livechat user documentation"
-weight=40
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/user/_index.fr.md b/support/documentation/content/documentation/user/_index.fr.md
deleted file mode 100644
index 8fe054de..00000000
--- a/support/documentation/content/documentation/user/_index.fr.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Documentation utilisateur⋅rice"
-description="Documentation utilisateur⋅rice du plugin peertube-plugin-livechat"
-weight=40
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/user/_index.ja.md b/support/documentation/content/documentation/user/_index.ja.md
deleted file mode 100644
index 9e60bba5..00000000
--- a/support/documentation/content/documentation/user/_index.ja.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="User documentation"
-description="Plugin peertube-plugin-livechat user documentation"
-weight=40
-chapter=false
-+++
-
-{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/user/moderation.de.md b/support/documentation/content/documentation/user/moderation.de.md
deleted file mode 100644
index 07451e15..00000000
--- a/support/documentation/content/documentation/user/moderation.de.md
+++ /dev/null
@@ -1,20 +0,0 @@
-+++
-title="Moderation"
-description="Plugin peertube-plugin-livechat Moderation"
-weight=10
-chapter=false
-+++
-
-Sie können auf die Raumeinstellungen und Moderationswerkzeuge zugreifen, indem Sie den Chat in einem neuen Fenster öffnen, und das Dropdown-Menü oben rechts verwenden.
-
-Sie können alle bestehenden Chaträume auflisten: in den Einstellungen des Plugins gibt es einen Knopf «Räume auflisten».
-
-Sie können alte Räume löschen: Treten Sie dem Raum bei, und verwenden Sie das Menü oben, um den Raum zu löschen.
-
-## Hinweise
-
-Alle Instanzmoderatoren und Admins sind Eigentümer der erstellten Chaträume.
-Wenn das Video lokal ist (nicht von einem entfernten Peertube), ist der Eigentümer des Videos der Administrator des Chatraums.
-
-Sie können [ConverseJS-Moderationsbefehle](https://conversejs.org/docs/html/features.html#moderating-chatrooms) verwenden, um den Raum zu moderieren.
-Wenn Sie den Chatraum im Vollbildmodus öffnen, finden Sie oben rechts ein Menü mit den entsprechenden Befehlen.
\ No newline at end of file
diff --git a/support/documentation/content/documentation/user/moderation.fr.md b/support/documentation/content/documentation/user/moderation.fr.md
deleted file mode 100644
index f3ac34f4..00000000
--- a/support/documentation/content/documentation/user/moderation.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Moderation"
-description="Plugin peertube-plugin-livechat moderation"
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/user/moderation.ja.md b/support/documentation/content/documentation/user/moderation.ja.md
deleted file mode 100644
index f3ac34f4..00000000
--- a/support/documentation/content/documentation/user/moderation.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Moderation"
-description="Plugin peertube-plugin-livechat moderation"
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/user/obs.de.md b/support/documentation/content/documentation/user/obs.de.md
deleted file mode 100644
index 36b3ce56..00000000
--- a/support/documentation/content/documentation/user/obs.de.md
+++ /dev/null
@@ -1,34 +0,0 @@
-+++
-title="OBS"
-description="Documentation to stream the chat content using OBS."
-weight=10
-chapter=false
-+++
-
-## OBS Overlay
-
-Falls Sie OBS zum Streaming verwenden, können Sie den Chat ganz einfach in Ihren Stream integrieren.
-
-Sie können die Funktion «Chat Link teilen» verwenden, um einen Link zu Ihrem Chat zu erstellen.
-Die Schaltfläche sollte sich in der Nähe des Chats befinden, wenn Sie der Eigentümer des Videos sind (es sei denn, sie wurde von der Server-Administration deaktiviert).
-
-Aktivieren Sie das Feld «schreibgeschützt» in dem Dialogfenster.
-Verwenden Sie dann diesen Link als «Browser Quelle» in OBS.
-
-Sie können die Option «Transparenter Hintergrund» verwenden, um einen transparenten Hintergrund in OBS zu erhalten.
-Wenn Sie die Hintergrundtransparenz anpassen möchten, können Sie diesen CSS-Code in den Einstellungen Ihrer OBS-Browserquelle hinzufügen:
-
-```css
-:root {
- --livechat-transparent: rgba(255 255 255 / 90%) !important;
-}
-```
-
-Hinweis: Sie können die Farben anpassen. Dies ist noch nicht dokumentiert, aber Sie können dies versuchen:
-Aktivieren Sie im Dialogfenster die Option «Aktuelle Themenfarben verwenden», und versuchen Sie dann, die Farbwerte in dem Link manuell zu ändern.
-Sie müssen gültige CSS-Farbwerte verwenden, und diese müssen in dem Link korrekt kodiert sein.
-
-## Mehrere Chats in Ihrem Live-Stream kombinieren
-
-Sie können die [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) verwenden, um mehrere Chat-Quellen (von Peertube, Twitch, Youtube, Facebook, ...) zu mischen und deren Inhalte in Ihren Live-Stream zu integrieren.
-Die Kompatibilität mit diesem Plugin wurde in den letzten Versionen hinzugefügt.
\ No newline at end of file
diff --git a/support/documentation/content/documentation/user/obs.fr.md b/support/documentation/content/documentation/user/obs.fr.md
deleted file mode 100644
index af145560..00000000
--- a/support/documentation/content/documentation/user/obs.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="OBS"
-description="Documentation to stream the chat content using OBS."
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/user/obs.ja.md b/support/documentation/content/documentation/user/obs.ja.md
deleted file mode 100644
index af145560..00000000
--- a/support/documentation/content/documentation/user/obs.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="OBS"
-description="Documentation to stream the chat content using OBS."
-weight=10
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/user/xmpp_clients.de.md b/support/documentation/content/documentation/user/xmpp_clients.de.md
deleted file mode 100644
index 779d2378..00000000
--- a/support/documentation/content/documentation/user/xmpp_clients.de.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="XMPP Clients"
-description="Connect to chat using a XMPP client"
-weight=40
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/documentation/user/xmpp_clients.fr.md b/support/documentation/content/documentation/user/xmpp_clients.fr.md
deleted file mode 100644
index be1b7b2f..00000000
--- a/support/documentation/content/documentation/user/xmpp_clients.fr.md
+++ /dev/null
@@ -1,47 +0,0 @@
-+++
-title="Clients XMPP"
-description="Se connecter au tchat avec un client XMPP"
-weight=40
-chapter=false
-+++
-
-Ce module de tchat repose sur le protocole XMPP, aussi connu sous le nom de Jabber.
-Il est donc possible de se connecter aux tchats en utilisant des
-[logiciels clients XMPP](https://fr.wikipedia.org/wiki/Clients_XMPP).
-Cela peut par exemple être utile pour faciliter les opérations de modération.
-
-{{% notice info %}}
-Les fonctions décrites dans cette page doivent être activées et configurées par
-les administrateur⋅rices de votre instance Peertube. Il se peut donc que vous
-n'y ayez pas accès.
-{{% /notice %}}
-
-## Connexion à votre compte Peertube
-
-{{% notice warning %}}
-Cette fonctionnalité n'est pas encore disponible, et viendra dans une
-prochaine version du plugin.
-{{% /notice %}}
-
-## Connexion en utilisant un compte XMPP externe
-
-Si cette fonctionnalité est activée sur votre instance, vous pouvez vous
-connecter aux tchats Peertube en utilisant un compte XMPP quelconque.
-
-Pour obtenir l'adresse du salon à rejoindre, vous pouvez utiliser la fenêtre
-de «partage» du tchat, dont le bouton est situé au dessus du tchat:
-
-
-
-{{% notice info %}}
-Par défaut, le bouton de partage n'est visible que pour le ou la propriétaire de la vidéo,
-et les admins/modérateur⋅rices de l'instance.
-Toutefois, les admins peuvent décider d'afficher ce bouton pour tout le monde.
-{{% /notice %}}
-
-Ensuite, dans la modale qui s'affiche, choississez «Connexion avec un client XMPP»:
-
-
-
-Il vous suffit ensuite, soit de cliquer sur «ouvrir», soit de copier/coller l'adresse du salon dans votre client XMPP
-(en utilisant la fonctionnalité «rejoindre un salon»).
diff --git a/support/documentation/content/documentation/user/xmpp_clients.ja.md b/support/documentation/content/documentation/user/xmpp_clients.ja.md
deleted file mode 100644
index 779d2378..00000000
--- a/support/documentation/content/documentation/user/xmpp_clients.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="XMPP Clients"
-description="Connect to chat using a XMPP client"
-weight=40
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/_index.en.md b/support/documentation/content/en/_index.md
similarity index 81%
rename from support/documentation/content/_index.en.md
rename to support/documentation/content/en/_index.md
index 25aebbfe..f5cf9d81 100644
--- a/support/documentation/content/_index.en.md
+++ b/support/documentation/content/en/_index.md
@@ -2,6 +2,7 @@
{{% notice tip %}}
You can use the language selector in the left menu to view this documentation in different languages.
+Some translations are missing or incomplete. In this case, you'll see the English version of the text.
{{% /notice %}}
{{% notice info %}}
diff --git a/support/documentation/content/contact/_index.en.md b/support/documentation/content/en/contact/_index.md
similarity index 81%
rename from support/documentation/content/contact/_index.en.md
rename to support/documentation/content/en/contact/_index.md
index 59d38da1..297b84c8 100644
--- a/support/documentation/content/contact/_index.en.md
+++ b/support/documentation/content/en/contact/_index.md
@@ -1,9 +1,9 @@
-+++
-title="Contact me"
-description="Contact the author"
-weight=80
-chapter=false
-+++
+---
+title: "Contact me"
+description: "Contact the author"
+weight: 80
+chapter: false
+---
If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).
diff --git a/support/documentation/content/contributing/_index.en.md b/support/documentation/content/en/contributing/_index.md
similarity index 53%
rename from support/documentation/content/contributing/_index.en.md
rename to support/documentation/content/en/contributing/_index.md
index 8a4dddcd..aaeecba4 100644
--- a/support/documentation/content/contributing/_index.en.md
+++ b/support/documentation/content/en/contributing/_index.md
@@ -1,9 +1,9 @@
-+++
-title="Contributing"
-description="Contributing"
-weight=60
-chapter=false
-+++
+---
+title: "Contributing"
+description: "Contributing"
+weight: 60
+chapter: false
+---
Interested in contributing? Awesome!
diff --git a/support/documentation/content/en/contributing/codeofconduct/_index.md b/support/documentation/content/en/contributing/codeofconduct/_index.md
new file mode 100644
index 00000000..11005e16
--- /dev/null
+++ b/support/documentation/content/en/contributing/codeofconduct/_index.md
@@ -0,0 +1,14 @@
+---
+title: "Code of Conduct"
+description: "Contributor Covenant Code of Conduct"
+weight: 10
+chapter: false
+---
+
+{{% notice tip %}}
+This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
+Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.
+{{% /notice %}}
+
+{{% livechat_codeofconduct %}}
diff --git a/support/documentation/content/contributing/develop/_index.en.md b/support/documentation/content/en/contributing/develop/_index.md
similarity index 95%
rename from support/documentation/content/contributing/develop/_index.en.md
rename to support/documentation/content/en/contributing/develop/_index.md
index cc178f48..cedda3ea 100644
--- a/support/documentation/content/contributing/develop/_index.en.md
+++ b/support/documentation/content/en/contributing/develop/_index.md
@@ -1,9 +1,9 @@
-+++
-title="Develop"
-description="Develop"
-weight=40
-chapter=false
-+++
+---
+title: "Develop"
+description: "Develop"
+weight: 40
+chapter: false
+---
Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem
before you start working on it, and inform the community that you begin coding by claiming the issue.
@@ -18,16 +18,13 @@ Prerequisite for building this plugin:
- you must have `npm` installed
- you must have python venv installed (`python3-venv` package on Debian for example)
+- you must have `build-essential` installed
To clone the repository:
```bash
-# Clone the repository
-git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git
-# Be sure to checkout the main branch
-git checkout main
-# Initialize the submodules. This command must be run again if any submodules' version changes.
-git submodule update --init --recursive
+# Clone the repository. Dont forget the --recursive to clone submodules.
+git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive
# Install NPM dependencies and build the module for the first time:
npm install
diff --git a/support/documentation/content/en/contributing/document/_index.md b/support/documentation/content/en/contributing/document/_index.md
new file mode 100644
index 00000000..fced9d36
--- /dev/null
+++ b/support/documentation/content/en/contributing/document/_index.md
@@ -0,0 +1,98 @@
+---
+title: "Documentation"
+description: "Document the plugin, or translate the documentation."
+weight: 50
+chapter: false
+---
+
+## General information
+
+Always inform the community before working (by creating a new issue, or commenting an existing one).
+This is to avoid that two persons are working on the same thing, and prevent conflicts.
+
+Documentation work has to be merged in the `main` branch.
+
+The documentation source code is in the `support/documentation/content` folder.
+
+The documentation is generated using [Hugo](https://gohugo.io/).
+You have to install it on your computer if you want to preview your work.
+
+The used theme is [hugo-theme-learn](https://learn.netlify.app/).
+You should read its documentation before starting editing the documentation.
+
+When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.
+This will trigger github and gitlab pipelines, and update published documentation.
+
+## Translations
+
+The principal language is english (`en` code).
+
+The `support/documentation/content/en` folder contains only english documentation files.
+
+Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).
+To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.
+
+## Add a new language
+
+In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.
+
+If the translations are not complete, it does not matter, english will be used for missing strings.
+
+## Preview
+
+To preview your modifications, just run:
+
+```bash
+hugo serve -s support/documentation/
+```
+
+Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).
+This page will automatically refresh on each modification.
+
+## Update localization files and generate documentation translations
+
+For now, you only have the english version.
+To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.
+
+To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.
+
+{{% notice warning %}}
+Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.
+Please make sure to install a compatible version.
+If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.
+{{% /notice %}}
+
+To handle translations, just do:
+
+```bash
+npm run doc:translate
+```
+
+You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.
+
+## Write documentation
+
+Just edit the english files in `support/documentation/content/en`.
+
+Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.
+
+You can use the `livechat_label` short code to use application strings.
+See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).
+
+It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.
+See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).
+
+Please use the `livechatnotranslation` option for technical documentation.
+We don't want technical documentation to be translated, to avoid issues because of a wrong translation.
+
+Avoid adding line breaks in middle of a sentence.
+But add a line break after each sentence in a paragraph.
+This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.
+
+### What if I can't use hugo and/or po4a?
+
+Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.
+
+## Publication
+
+Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.
diff --git a/support/documentation/content/en/contributing/feedback/_index.md b/support/documentation/content/en/contributing/feedback/_index.md
new file mode 100644
index 00000000..296e9932
--- /dev/null
+++ b/support/documentation/content/en/contributing/feedback/_index.md
@@ -0,0 +1,9 @@
+---
+title: "Give your feedback"
+description: "Give your feedback"
+weight: 30
+chapter: false
+---
+
+You don't need to know how to code to start contributing to this plugin!
+Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...
diff --git a/support/documentation/content/contributing/translate/_index.en.md b/support/documentation/content/en/contributing/translate/_index.md
similarity index 69%
rename from support/documentation/content/contributing/translate/_index.en.md
rename to support/documentation/content/en/contributing/translate/_index.md
index 116b8ee6..e336b8da 100644
--- a/support/documentation/content/contributing/translate/_index.en.md
+++ b/support/documentation/content/en/contributing/translate/_index.md
@@ -1,9 +1,9 @@
-+++
-title="Translate"
-description="Translate the plugin"
-weight=20
-chapter=false
-+++
+---
+title: "Translate"
+description: "Translate the plugin"
+weight: 20
+chapter: false
+---
You can contribute to this plugin translation.
Translations are handled using the [Weblate](https://weblate.org/) software,
@@ -28,12 +28,6 @@ the meaning, or of your translation, you better not translate it,
so it will display in english.
{{% /notice %}}
-## Documentation translation
-
-Fow now, this is not done on Weblate. I am still looking for the good technical solution.
-
-Please refer to the "documentation" documentation page.
-
## Adding a new locale
If you think there is a missing locale, please check first if it is handled in Peertube.
@@ -81,3 +75,38 @@ Localization must be done on front-end.
There is a `lib/loc.ts` module providing a `loc()` function.
Just pass it the key to have the english string: `loc('diagnostic')`'.
+
+## Documentation translation
+
+The documentation translation is done using the corresponding Weblate component.
+
+There is a specific "Hugo shortcodes" you can use to display an application string.
+Saying you want to display the name of the button "open_chat_new_window", you can use this in the documentation markdown file:
+
+```hugo
+{{%/* livechat_label open_chat_new_window */%}}
+```
+
+You can also prevent a whole page from being translating by adding `livechatnotranslation: true` in the Yaml Font Matter section:
+
+```yaml
+---
+title: "Third party"
+description: "Displaying the livechat with 3rd party software."
+weight: 20
+chapter: false
+livechatnotranslation: true
+---
+```
+
+Never translate a string in the `livechat.en.pot` file, it would be ignored.
+Instead, edit directly the markdown files.
+
+If a string contains a link, you can change it for the correct link in the translated language.
+For example, for a link to this documentation, you can add the language code in the url.
+
+Some strings are block of code.
+Don't translate code.
+But you can translate comments, or parameters if relevant.
+
+If you are not sure, just don't translate, and ask what to do.
diff --git a/support/documentation/content/credits/_index.en.md b/support/documentation/content/en/credits/_index.md
similarity index 71%
rename from support/documentation/content/credits/_index.en.md
rename to support/documentation/content/en/credits/_index.md
index 39800e84..c415f37d 100644
--- a/support/documentation/content/credits/_index.en.md
+++ b/support/documentation/content/en/credits/_index.md
@@ -1,14 +1,11 @@
-+++
-title="Credits"
-description="Plugin Credits"
-weight=90
-chapter=false
-+++
+---
+title: "Credits"
+description: "Plugin Credits"
+weight: 90
+chapter: false
+---
-[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json),
-[COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md)
-and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE)
-files contain the license information for this software and its dependencies.
+[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.
The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).
diff --git a/support/documentation/content/en/documentation/_index.md b/support/documentation/content/en/documentation/_index.md
new file mode 100644
index 00000000..fed3137e
--- /dev/null
+++ b/support/documentation/content/en/documentation/_index.md
@@ -0,0 +1,8 @@
+---
+title: "Documentation"
+description: "Plugin documentation"
+weight: 10
+chapter: false
+---
+
+{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/en/documentation/admin/_index.md b/support/documentation/content/en/documentation/admin/_index.md
new file mode 100644
index 00000000..6fb4bd67
--- /dev/null
+++ b/support/documentation/content/en/documentation/admin/_index.md
@@ -0,0 +1,8 @@
+---
+title: "Admin documentation"
+description: "Plugin Peertube Livechat administration"
+weight: 30
+chapter: false
+---
+
+{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/en/documentation/admin/advanced/_index.md b/support/documentation/content/en/documentation/admin/advanced/_index.md
new file mode 100644
index 00000000..81290c44
--- /dev/null
+++ b/support/documentation/content/en/documentation/admin/advanced/_index.md
@@ -0,0 +1,8 @@
+---
+title: "Advanced usage"
+description: "Some advanced features"
+weight: 20
+chapter: false
+---
+
+{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/admin/advanced/matterbridge.en.md b/support/documentation/content/en/documentation/admin/advanced/matterbridge.md
similarity index 54%
rename from support/documentation/content/documentation/admin/advanced/matterbridge.en.md
rename to support/documentation/content/en/documentation/admin/advanced/matterbridge.md
index a560fb7b..ba5297f8 100644
--- a/support/documentation/content/documentation/admin/advanced/matterbridge.en.md
+++ b/support/documentation/content/en/documentation/admin/advanced/matterbridge.md
@@ -1,8 +1,8 @@
-+++
-title="Using Matterbridge"
-description="Using Matterbridge to bridge with other chats"
-weight=50
-chapter=false
-+++
+---
+title: "Using Matterbridge"
+description: "Using Matterbridge to bridge with other chats"
+weight: 50
+chapter: false
+---
Here is a tutorial to use Matterbridge with the plugin:
diff --git a/support/documentation/content/documentation/admin/advanced/xmpp_clients.en.md b/support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
similarity index 82%
rename from support/documentation/content/documentation/admin/advanced/xmpp_clients.en.md
rename to support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
index fbcafedd..18a80a5d 100644
--- a/support/documentation/content/documentation/admin/advanced/xmpp_clients.en.md
+++ b/support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
@@ -1,9 +1,9 @@
-+++
-title="XMPP clients"
-description="Allow connections using XMPP clients"
-weight=30
-chapter=false
-+++
+---
+title: "XMPP clients"
+description: "Allow connections using XMPP clients"
+weight: 30
+chapter: false
+---
This chat module is based on the XMPP protocol, also known as Jabber.
It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).
@@ -12,10 +12,8 @@ This can for example be useful to facilitate moderation operations.
For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).
{{% notice info %}}
-Enabling these features requires configuration changes on the server, and
-on the DNS records. It is not possible to configure this only from the
-Peertube interface, and it requires some basic system some basic system
-admin skills.
+Enabling these features requires configuration changes on the server, and on the DNS records.
+It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.
{{% /notice %}}
## Login to your Peertube account
@@ -26,31 +24,27 @@ This feature is not yet available, and will come in a future version of the plug
## Connection using an external XMPP account
-To enable this feature, you will need to set up your server and DNS
-records, so that XMPP clients can find and access the
+To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the
[Prosody server](https://prosody.im) that this plugin uses internally.
### Plugin settings
-Start by going to the livechat plugin settings of your instance, then
-enable the setting "Enable connection to room using external XMPP accounts".
+Start by going to the livechat plugin settings of your instance, then enable the setting "Enable connection to room using external XMPP accounts".
By checking this settings, new settings appear below.
First of all, the "Prosody server to server port" field.
This one defaults to 5269, which is the standard port for this service.
You can however change to another port, if this is already in use on your server.
-Next, the field "Server to server network interfaces" field allows you to specify
-which network interfaces the server should listen on.
+Next, the field "Server to server network interfaces" field allows you to specify which network interfaces the server should listen on.
The default value "*, ::" indicates to listen on all IP addresses.
You can change these values, if you wish to listen on only certain IP addresses.
The syntax is explained next to the setting.
For the "Certificate folder" setting, you can leave it empty.
-In this case, the plugin will automatically generate self-signed certificates.
+In this case, the plugin will automatically generate self-signed certificates.
Some XMPP servers may refuse to connect, depending on their configuration.
-In this case, you can indicate here a path on the server, in which you
-must place certificates to be used by the module.
+In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.
It is up to you to generate and renew them.
See bellow for more information.
@@ -58,17 +52,14 @@ See bellow for more information.
You must open the configured port (5269 by default) on your firewall.
-If you are using Docker for your Peertube, you need to modify the
-`docker-compose.yml` file to open port 5269 of the `peertube` container,
+If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,
so that the outer world can connect to it.
### DNS
-You need to add a [DNS record](https://prosody.im/doc/dns) allowing
-remote servers to find the "room.your_instance.tld" component.
+You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the "room.your_instance.tld" component.
-The easiest way to do this is to add an SRV record for the "room"
-[subdomain](https://prosody.im/doc/dns#subdomains):
+The easiest way to do this is to add an SRV record for the "room" [subdomain](https://prosody.im/doc/dns#subdomains):
* record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)
* TTL: 3600
@@ -81,16 +72,14 @@ The easiest way to do this is to add an SRV record for the "room"
Be careful to keep the dot after "your_instance.tld".
-Using the `dig` command to check your record,
-you should get a result similar to this:
+Using the `dig` command to check your record, you should get a result similar to this:
```bash
$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV
0 5 5269 videos.john-livingston.fr.
```
-If you are **not using the standard `5269` port**, you must also add a SRV record
-for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).
+If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).
Of course, you can also add this record if you use the standard port. It will also work.
### Using trusted certificates
@@ -111,12 +100,8 @@ You can use any [method supported by Prosody](https://prosody.im/doc/certificate
You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting "Certificate folder".
{{% notice tip %}}
-If you want to use the ProsodyCtl utility to import
-certificates, this utility is available (once Peertube is started) using
-the following command (adapting the path to your Peertube data folder,
-and replacing "xxx" with the arguments you wish to pass to
-prosodyctl):
-`sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`
+If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing "xxx" with the arguments you wish to pass to
+prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`
{{% /notice %}}
The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.
@@ -125,8 +110,8 @@ The plugin will check once a day to see if any files have been modified in this
We assume here that your Peertube installation is "classic" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.
-First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the
-MUC (XMPP chat rooms) component. Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.
+First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.
+Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.
So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.
You can use a CNAME entry (or an A entry and a AAAA entry).
@@ -156,8 +141,7 @@ systemc reload nginx
```
Then we prepare the folder in which we will later import the certificates.
-We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist),
-with the user `peertube` to make sure there are no permissions issues:
+We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:
```bash
sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs
@@ -216,7 +200,7 @@ Run certbot:
certbot
```
-You will be presented with a series of prompts. Enter `2` for the authentication type:
+You will be presented with a series of prompts. Enter `2` for the authentication type:
```text
How would you like to authenticate with the ACME CA?
@@ -226,8 +210,7 @@ Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Enter the domain name `room.your_instance.tld`:
```text
-Please enter the domain name(s) you would like on your certificate (comma and/or
-space separated) (Enter 'c' to cancel): room.your_instance.tld
+Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld
```
Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:
@@ -302,6 +285,4 @@ docker-compose exec -u peertube \
### Troubleshooting
-If you can't make it work, you can use the diagnostic tool
-(there is a button on top of the plugin settings page),
-and take a close look on the «Prosody check» section.
+If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.
diff --git a/support/documentation/content/en/documentation/admin/settings.md b/support/documentation/content/en/documentation/admin/settings.md
new file mode 100644
index 00000000..635952a3
--- /dev/null
+++ b/support/documentation/content/en/documentation/admin/settings.md
@@ -0,0 +1,159 @@
+---
+title: "Settings"
+description: "Plugin Peertube Livechat settings"
+weight: 10
+chapter: false
+---
+
+This section describes the plugin settings page.
+
+## {{% livechat_label "list_rooms_label" %}}
+
+When pressing the «List rooms» button, all existing chatrooms will be listed.
+You can then find them and moderated them.
+
+## Federation
+
+Following settings concern the federation with other Peertube instances, and other fediverse softwares.
+
+### {{% livechat_label federation_no_remote_chat_label %}}
+
+{{% livechat_label federation_no_remote_chat_description %}}
+
+### {{% livechat_label federation_dont_publish_remotely_label %}}
+
+{{% livechat_label federation_dont_publish_remotely_description %}}
+
+## Chat behaviour
+
+### {{% livechat_label room_type_label %}}
+
+{{% livechat_label room_type_description %}}
+
+### {{% livechat_label auto_display_label %}}
+
+{{% livechat_label auto_display_description %}}
+
+### {{% livechat_label open_blank_label %}}
+
+{{% livechat_label open_blank_description %}}
+
+### {{% livechat_label share_url_label %}}
+
+This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.
+The chat can be customized (readonly mode, use the current theme, ...).
+
+You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!
+
+This settings allows you to choose who can access this modal.
+
+### {{% livechat_label per_live_video_label %}}
+
+{{% livechat_label per_live_video_description %}}
+
+The video owner will be able to activate web chats.
+
+### {{% livechat_label all_lives_label %}}
+
+{{% livechat_label all_lives_description %}}
+
+### {{% livechat_label all_non_lives_label %}}
+
+{{% livechat_label all_non_lives_label %}}
+
+### {{% livechat_label videos_list_label %}}
+
+{{% livechat_label videos_list_label %}}
+
+### {{% livechat_label no_anonymous_label %}}
+
+{{% livechat_label no_anonymous_description %}}
+
+Note: for now this feature simply hide the chat.
+In a future release, the chat will be replaced by a message saying «please log in to [...]».
+See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.
+
+## Theming
+
+### {{% livechat_label converse_theme_label %}}
+
+You can choose which theme to use for ConverseJS:
+
+- Peertube theme: this is a special theme, made especially for peertube's integration.
+- Default ConverseJS theme: this is the default ConverseJS theme.
+- ConverseJS concord theme: this is a theme provided by ConverseJS.
+
+### {{% livechat_label autocolors_label %}}
+
+{{% livechat_label autocolors_description %}}
+
+### {{% livechat_label chat_style_label %}}
+
+{{% livechat_label chat_style_description %}}
+
+## Chat server advanced settings
+
+### {{% livechat_label system_prosody_label %}}
+
+The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).
+If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.
+
+This settings should only be used if the plugin is broken, and waiting for a patch.
+
+### {{% livechat_label disable_websocket_label %}}
+
+{{% livechat_label disable_websocket_description %}}
+
+### {{% livechat_label prosody_port_label %}}
+
+{{% livechat_label prosody_port_description %}}
+
+### {{% livechat_label prosody_peertube_uri_label %}}
+
+{{% livechat_label prosody_peertube_uri_description %}}
+
+### {{% livechat_label prosody_muc_log_by_default_label %}}
+
+{{% livechat_label prosody_muc_log_by_default_description %}}
+
+### {{% livechat_label prosody_muc_expiration_label %}}
+
+{{% livechat_label prosody_muc_expiration_description %}}
+
+### {{% livechat_label prosody_room_allow_s2s_label %}}
+
+{{% livechat_label prosody_room_allow_s2s_description %}}
+
+### {{% livechat_label prosody_s2s_port_label %}}
+
+{{% livechat_label prosody_s2s_port_description %}}
+
+### {{% livechat_label prosody_s2s_interfaces_label %}}
+
+{{% livechat_label prosody_s2s_interfaces_description %}}
+
+### {{% livechat_label prosody_certificates_dir_label %}}
+
+{{% livechat_label prosody_certificates_dir_description %}}
+
+### {{% livechat_label prosody_c2s_label %}}
+
+{{% livechat_label prosody_c2s_description %}}
+
+This setting enable XMPP clients to connect to the built-in Prosody server.
+For now, this option **only allows connections from localhost clients**.
+
+As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.
+
+#### {{% livechat_label prosody_c2s_port_label %}}
+
+{{% livechat_label prosody_c2s_port_description %}}
+
+### {{% livechat_label prosody_components_label %}}
+
+This settings enable XMPP external components to connect to the server.
+For now, this option **only allows connections from localhost components**.
+
+This feature could be used to connect bridges or bots.
+
+More informations on Prosody external components [here](https://prosody.im/doc/components).
diff --git a/support/documentation/content/documentation/installation/_index.en.md b/support/documentation/content/en/documentation/installation/_index.md
similarity index 77%
rename from support/documentation/content/documentation/installation/_index.en.md
rename to support/documentation/content/en/documentation/installation/_index.md
index f958e9dc..6432ed27 100644
--- a/support/documentation/content/documentation/installation/_index.en.md
+++ b/support/documentation/content/en/documentation/installation/_index.md
@@ -1,9 +1,9 @@
-+++
-title="Installation guide"
-description="Plugin peertube-plugin-livechat installation guide"
-weight=10
-chapter=false
-+++
+---
+title: "Installation guide"
+description: "Plugin peertube-plugin-livechat installation guide"
+weight: 10
+chapter: false
+---
{{% notice info %}}
Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).
diff --git a/support/documentation/content/documentation/installation/cpu_compatibility.en.md b/support/documentation/content/en/documentation/installation/cpu_compatibility.md
similarity index 71%
rename from support/documentation/content/documentation/installation/cpu_compatibility.en.md
rename to support/documentation/content/en/documentation/installation/cpu_compatibility.md
index 2586035c..d4f56024 100644
--- a/support/documentation/content/documentation/installation/cpu_compatibility.en.md
+++ b/support/documentation/content/en/documentation/installation/cpu_compatibility.md
@@ -1,9 +1,9 @@
-+++
-title="Known issues: CPU Compatibility"
-description="For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
-weight=10
-chapter=false
-+++
+---
+title: "Known issues: CPU Compatibility"
+description: "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+weight: 10
+chapter: false
+---
The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.
It is not compatible with other CPU architectures.
@@ -18,8 +18,7 @@ Once it is done, you have to check `Use system Prosody` in the plugin settings.
## On non-docker Peertube installation
-For standard installation, you just have to install the official `prosody` package
-for your linux distribution.
+For standard installation, you just have to install the official `prosody` package for your linux distribution.
For example, on Debian/Ubuntu:
@@ -27,24 +26,19 @@ For example, on Debian/Ubuntu:
sudo apt install prosody
```
-You can then disable the service that starts automatically when you install
-Prosody (the plugin will launch a Prosody process, there is no need for the
-service to run).
+You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).
For example, on Debian/Ubuntu (and other Systemd based linux distributions):
```bash
sudo systemctl disable prosody && sudo systemctl stop prosody
```
-Warning: do not disable Prosody if it is used for another service on your server,
-like for example Jitsi.
+Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.
## Docker
-You will have to generate a Peertube image that includes Prosody in the same
-container that Peertube.
-I know this is not the standard way to do this with Docker, but keep in mind it
-is a temporary workaround.
+You will have to generate a Peertube image that includes Prosody in the same container that Peertube.
+I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.
To generate and use such an image, please refer to the Docker documentation.
The Docker file to generate the image should be:
@@ -57,11 +51,9 @@ RUN apt -y update && apt install -y prosody && apt -y clean
## Yunohost
-You have to disable `metronome` (the XMPP server provided by Yunohost), and
-install `prosody`.
+You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.
+
+This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.
-This is already done by the Yunohost Peertube application, as it was required for the
-plugin before the v6.0.0.
But it may be removed in a near feature (to avoid drawbacks of this method).
-I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks,
-and maximize compatibility.
+I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.
diff --git a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.en.md b/support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
similarity index 70%
rename from support/documentation/content/documentation/installation/upgrade_before_6.0.0.en.md
rename to support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
index 6dabfd77..f3f04441 100644
--- a/support/documentation/content/documentation/installation/upgrade_before_6.0.0.en.md
+++ b/support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
@@ -1,9 +1,9 @@
-+++
-title="Upgrade from version older than 6.0.0"
-description="Important notes when upgrading for an older version."
-weight=50
-chapter=false
-+++
+---
+title: "Upgrade from version older than 6.0.0"
+description: "Important notes when upgrading for an older version."
+weight: 50
+chapter: false
+---
## IMPORTANT NOTE
diff --git a/support/documentation/content/en/documentation/user/_index.md b/support/documentation/content/en/documentation/user/_index.md
new file mode 100644
index 00000000..b199cefc
--- /dev/null
+++ b/support/documentation/content/en/documentation/user/_index.md
@@ -0,0 +1,8 @@
+---
+title: "User documentation"
+description: "Plugin peertube-plugin-livechat user documentation"
+weight: 40
+chapter: false
+---
+
+{{% children depth="3" style="li" description="true" %}}
diff --git a/support/documentation/content/documentation/user/moderation.en.md b/support/documentation/content/en/documentation/user/moderation.md
similarity index 87%
rename from support/documentation/content/documentation/user/moderation.en.md
rename to support/documentation/content/en/documentation/user/moderation.md
index 8278ec59..b4ca7da6 100644
--- a/support/documentation/content/documentation/user/moderation.en.md
+++ b/support/documentation/content/en/documentation/user/moderation.md
@@ -1,9 +1,9 @@
-+++
-title="Moderation"
-description="Plugin peertube-plugin-livechat moderation"
-weight=10
-chapter=false
-+++
+---
+title: "Moderation"
+description: "Plugin peertube-plugin-livechat moderation"
+weight: 10
+chapter: false
+---
You can access room settings and moderation tools by opening the chat in a new window,
and using the dropdown menu at the top right.
diff --git a/support/documentation/content/documentation/user/obs.en.md b/support/documentation/content/en/documentation/user/obs.md
similarity index 91%
rename from support/documentation/content/documentation/user/obs.en.md
rename to support/documentation/content/en/documentation/user/obs.md
index c2ec2f2b..29106016 100644
--- a/support/documentation/content/documentation/user/obs.en.md
+++ b/support/documentation/content/en/documentation/user/obs.md
@@ -1,9 +1,9 @@
-+++
-title="OBS"
-description="Documentation to stream the chat content using OBS."
-weight=10
-chapter=false
-+++
+---
+title: "OBS"
+description: "Documentation to stream the chat content using OBS."
+weight: 10
+chapter: false
+---
## OBS Overlay
diff --git a/support/documentation/content/documentation/user/xmpp_clients.en.md b/support/documentation/content/en/documentation/user/xmpp_clients.md
similarity index 93%
rename from support/documentation/content/documentation/user/xmpp_clients.en.md
rename to support/documentation/content/en/documentation/user/xmpp_clients.md
index a9029d29..3d8f7dcd 100644
--- a/support/documentation/content/documentation/user/xmpp_clients.en.md
+++ b/support/documentation/content/en/documentation/user/xmpp_clients.md
@@ -1,9 +1,9 @@
-+++
-title="XMPP Clients"
-description="Connect to chat using a XMPP client"
-weight=40
-chapter=false
-+++
+---
+title: "XMPP Clients"
+description: "Connect to chat using a XMPP client"
+weight: 40
+chapter: false
+---
This chat plugin relies on the XMPP protocol (also known as Jabber).
It is therefore possible to connect to the chats using
diff --git a/support/documentation/content/images/chat.png b/support/documentation/content/en/images/chat.png
similarity index 100%
rename from support/documentation/content/images/chat.png
rename to support/documentation/content/en/images/chat.png
diff --git a/support/documentation/content/images/fullscreen.png b/support/documentation/content/en/images/fullscreen.png
similarity index 100%
rename from support/documentation/content/images/fullscreen.png
rename to support/documentation/content/en/images/fullscreen.png
diff --git a/support/documentation/content/images/share_button.png b/support/documentation/content/en/images/share_button.png
similarity index 100%
rename from support/documentation/content/images/share_button.png
rename to support/documentation/content/en/images/share_button.png
diff --git a/support/documentation/content/images/share_xmpp_dialog.png b/support/documentation/content/en/images/share_xmpp_dialog.png
similarity index 100%
rename from support/documentation/content/images/share_xmpp_dialog.png
rename to support/documentation/content/en/images/share_xmpp_dialog.png
diff --git a/support/documentation/content/intro/_index.en.md b/support/documentation/content/en/intro/_index.md
similarity index 58%
rename from support/documentation/content/intro/_index.en.md
rename to support/documentation/content/en/intro/_index.md
index d55e15c5..6b8c5fb7 100644
--- a/support/documentation/content/intro/_index.en.md
+++ b/support/documentation/content/en/intro/_index.md
@@ -1,12 +1,17 @@
-+++
-title="Introduction"
-description="Introduction"
-weight=5
-chapter=false
-+++
+---
+title: "Introduction"
+description: "Introduction"
+weight: 5
+chapter: false
+---
This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.
+{{% notice tip %}}
+You can use the language selector in the left menu to view this documentation in different languages.
+Some translations are missing or incomplete. In this case, you'll see the English version of the text.
+{{% /notice %}}
+
| | |
|---|---|
|  |  |
diff --git a/support/documentation/content/issues/_index.en.md b/support/documentation/content/en/issues/_index.md
similarity index 69%
rename from support/documentation/content/issues/_index.en.md
rename to support/documentation/content/en/issues/_index.md
index 0c10f36e..6f34ae30 100644
--- a/support/documentation/content/issues/_index.en.md
+++ b/support/documentation/content/en/issues/_index.md
@@ -1,11 +1,11 @@
-+++
-title="Bug tracking & new features"
-description="Bug tracking / New features requests"
-weight=70
-chapter=false
-+++
+---
+title: "Bug tracking & new features"
+description: "Bug tracking / New features requests"
+weight: 70
+chapter: false
+---
-If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues).
+If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.
To have a glimpse to the roadmap for upcoming features, please refer to:
diff --git a/support/documentation/content/en/technical/_index.md b/support/documentation/content/en/technical/_index.md
new file mode 100644
index 00000000..d3874e3a
--- /dev/null
+++ b/support/documentation/content/en/technical/_index.md
@@ -0,0 +1,9 @@
+---
+title: "Technical documentation"
+description: "Technical documentation"
+weight: 75
+chapter: false
+livechatnotranslation: true
+---
+
+{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/technical/thirdparty/_index.en.md b/support/documentation/content/en/technical/thirdparty/_index.md
similarity index 98%
rename from support/documentation/content/technical/thirdparty/_index.en.md
rename to support/documentation/content/en/technical/thirdparty/_index.md
index 7cf6e6f2..9a9c560c 100644
--- a/support/documentation/content/technical/thirdparty/_index.en.md
+++ b/support/documentation/content/en/technical/thirdparty/_index.md
@@ -1,9 +1,10 @@
-+++
-title="Third party"
-description="Displaying the livechat with 3rd party software."
-weight=20
-chapter=false
-+++
+---
+title: "Third party"
+description: "Displaying the livechat with 3rd party software."
+weight: 20
+chapter: false
+livechatnotranslation: true
+---
{{% notice warning %}}
This page describes experimental features.
diff --git a/support/documentation/content/intro/_index.de.md b/support/documentation/content/intro/_index.de.md
deleted file mode 100644
index 0599811b..00000000
--- a/support/documentation/content/intro/_index.de.md
+++ /dev/null
@@ -1,20 +0,0 @@
-+++
-title="Einführung"
-description="Einführung"
-weight=5
-chapter=false
-+++
-
-Dieses [Peertube](https://joinpeertube.org/) Plugin ist dafür gedacht, ein Chatsystem für Peertube-Videos bereitzustellen.
-
-{{% notice tip %}}
-Sie können die Sprachauswahl im linken Menü verwenden, um diese Dokumentation in verschiedenen Sprachen anzuzeigen.
-{{% /notice %}}
-
-| | |
-|---|---|
-|  |  |
-
-{{% notice tip %}}
-Siehe eine [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).
-{{% /notice %}}
diff --git a/support/documentation/content/intro/_index.fr.md b/support/documentation/content/intro/_index.fr.md
deleted file mode 100644
index c1000e10..00000000
--- a/support/documentation/content/intro/_index.fr.md
+++ /dev/null
@@ -1,20 +0,0 @@
-+++
-title="Introduction"
-description="Introduction"
-weight=5
-chapter=false
-+++
-
-Ce plugin pour [Peertube](https://joinpeertube.org/) permet d'intégrer un système de «chat» (clavardage) à coté des vidéos.
-
-{{% notice tip %}}
-Vous pouvez utiliser le sélecteur de langue dans le menu de gauche pour afficher cette documentation dans différentes langues.
-{{% /notice %}}
-
-| | |
-|---|---|
-|  |  |
-
-{{% notice tip %}}
-Voir une [démo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).
-{{% /notice %}}
diff --git a/support/documentation/content/intro/_index.ja.md b/support/documentation/content/intro/_index.ja.md
deleted file mode 100644
index 70541909..00000000
--- a/support/documentation/content/intro/_index.ja.md
+++ /dev/null
@@ -1,20 +0,0 @@
-+++
-title="はじめに"
-description="はじめに"
-weight=5
-chapter=false
-+++
-
-この[Peertube](https://joinpeertube.org/)プラグインは、お使いのPeerTubeインスタンスの動画に対してチャットシステムを提供します。
-
-{{% notice tip %}}
-左側のメニューにある言語セレクターを使って、このドキュメントをさまざまな言語で表示することができます。
-{{% /notice %}}
-
-| | |
-|---|---|
-|  |  |
-
-{{% notice tip %}}
-実際の動きを[デモ](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae)でご確認頂けます。
-{{% /notice %}}
diff --git a/support/documentation/content/issues/_index.de.md b/support/documentation/content/issues/_index.de.md
deleted file mode 100644
index 6ec3ff9e..00000000
--- a/support/documentation/content/issues/_index.de.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title="Neue Funktionen / Fehler (Bugs)"
-description="Neue Funktionen / Fehler (Bugs)"
-weight=70
-chapter=false
-+++
-
-Wenn Sie neue Funktionswünsche, Fehler (Bugs) oder Schwierigkeiten bei der Einrichtung des Plugins haben, können Sie den [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) verwenden.
-
-Einen Einblick in die Roadmap für kommende Funktionen finden Sie hier:
-
-- [Github Project](https://github.com/users/JohnXLivingston/projects/1).
-- [Meilensteine auf Github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).
-
-Wenn Sie ein Webdesigner oder ein ConverseJS/Prosody/XMPP-Experte sind und helfen wollen, dieses Plugin zu verbessern, sind Sie gerne willkommen.
diff --git a/support/documentation/content/issues/_index.fr.md b/support/documentation/content/issues/_index.fr.md
deleted file mode 100644
index c2399077..00000000
--- a/support/documentation/content/issues/_index.fr.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title="Évolutions / Bugs"
-description="Évolutions / suivi des bugs"
-weight=70
-chapter=false
-+++
-
-Si vous avez des demandes de nouvelles fonctionnalités, des bugs, ou des difficultés à installer et utiliser le plugin, vous pouvez utiliser l'outils [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). Si possible, merci d'y écrire en anglais ; mais le français sera accepté.
-
-Pour avoir un apperçu de la feuille de routes pour les fonctionnalités à venir, vous pouvez vous référer à :
-
-- ce [projet github](https://github.com/users/JohnXLivingston/projects/1).
-- les [jalons sur github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).
-
-Si vous êtes webdesigner ou avez une expertise en ConverseJS/Prosody/XMPP et souhaitez participer à l'évolution de ce plugin, n'hésitez pas à me contacter.
diff --git a/support/documentation/content/issues/_index.ja.md b/support/documentation/content/issues/_index.ja.md
deleted file mode 100644
index 1bd14986..00000000
--- a/support/documentation/content/issues/_index.ja.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title="新規機能のリクエスト / バグトラッキング"
-description="新規機能のリクエスト / バグトラッキング"
-weight=70
-chapter=false
-+++
-
-新しい機能のリクエスト、バグ、プラグインのセットアップ時に問題が発生した場合は、[Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues)から報告してください。
-
-To have a glimpse to the roadmap for upcoming features, please refer to:
-
-- this [github project](https://github.com/users/JohnXLivingston/projects/1).
-- the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).
-
-あなたがWebデザイナーの方または、ConverseJS/Prosody/XMPP上級者の方の場合は、このプラグインをより良くする為に力を貸してください、歓迎致します。
diff --git a/support/documentation/content/technical/_index.de.md b/support/documentation/content/technical/_index.de.md
deleted file mode 100644
index feaabc6a..00000000
--- a/support/documentation/content/technical/_index.de.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Technical documentation"
-description="Technical documentation"
-weight=75
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/technical/_index.en.md b/support/documentation/content/technical/_index.en.md
deleted file mode 100644
index 1f262e4d..00000000
--- a/support/documentation/content/technical/_index.en.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title="Technical documentation"
-description="Technical documentation"
-weight=75
-chapter=false
-+++
-
-{{% children style="li" depth="3" description="true" %}}
diff --git a/support/documentation/content/technical/_index.fr.md b/support/documentation/content/technical/_index.fr.md
deleted file mode 100644
index feaabc6a..00000000
--- a/support/documentation/content/technical/_index.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Technical documentation"
-description="Technical documentation"
-weight=75
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/technical/_index.ja.md b/support/documentation/content/technical/_index.ja.md
deleted file mode 100644
index feaabc6a..00000000
--- a/support/documentation/content/technical/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Technical documentation"
-description="Technical documentation"
-weight=75
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/technical/thirdparty/_index.de.md b/support/documentation/content/technical/thirdparty/_index.de.md
deleted file mode 100644
index f9ddf82c..00000000
--- a/support/documentation/content/technical/thirdparty/_index.de.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Third party"
-description="Displaying the livechat with 3rd party software."
-weight=20
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/technical/thirdparty/_index.fr.md b/support/documentation/content/technical/thirdparty/_index.fr.md
deleted file mode 100644
index f9ddf82c..00000000
--- a/support/documentation/content/technical/thirdparty/_index.fr.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Third party"
-description="Displaying the livechat with 3rd party software."
-weight=20
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/technical/thirdparty/_index.ja.md b/support/documentation/content/technical/thirdparty/_index.ja.md
deleted file mode 100644
index f9ddf82c..00000000
--- a/support/documentation/content/technical/thirdparty/_index.ja.md
+++ /dev/null
@@ -1,10 +0,0 @@
-+++
-title="Third party"
-description="Displaying the livechat with 3rd party software."
-weight=20
-chapter=false
-+++
-
-{{% notice warning %}}
-This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
-{{% /notice %}}
diff --git a/support/documentation/content/contributing/codeofconduct/_index.en.md b/support/documentation/layouts/shortcodes/livechat_codeofconduct.html
similarity index 98%
rename from support/documentation/content/contributing/codeofconduct/_index.en.md
rename to support/documentation/layouts/shortcodes/livechat_codeofconduct.html
index 4934e9c4..204546be 100644
--- a/support/documentation/content/contributing/codeofconduct/_index.en.md
+++ b/support/documentation/layouts/shortcodes/livechat_codeofconduct.html
@@ -1,10 +1,3 @@
-+++
-title="Code of Conduct"
-description="Contributor Covenant Code of Conduct"
-weight=10
-chapter=false
-+++
-
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
diff --git a/support/documentation/layouts/shortcodes/livechat_label.html b/support/documentation/layouts/shortcodes/livechat_label.html
new file mode 100644
index 00000000..8dbc9b8a
--- /dev/null
+++ b/support/documentation/layouts/shortcodes/livechat_label.html
@@ -0,0 +1,2 @@
+{{ $_hugo_config := `{ "version": 1 }` }}
+{{ i18n (.Get 0) | safeHTML }}
diff --git a/support/documentation/po/livechat.ar.po b/support/documentation/po/livechat.ar.po
new file mode 100644
index 00000000..961de100
--- /dev/null
+++ b/support/documentation/po/livechat.ar.po
@@ -0,0 +1,2076 @@
+# Arabic translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.ca.po b/support/documentation/po/livechat.ca.po
new file mode 100644
index 00000000..9f50c1c2
--- /dev/null
+++ b/support/documentation/po/livechat.ca.po
@@ -0,0 +1,2076 @@
+# Catalan translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.cs.po b/support/documentation/po/livechat.cs.po
new file mode 100644
index 00000000..96ab065c
--- /dev/null
+++ b/support/documentation/po/livechat.cs.po
@@ -0,0 +1,2077 @@
+# Czech translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.de.po b/support/documentation/po/livechat.de.po
new file mode 100644
index 00000000..4e2e6c13
--- /dev/null
+++ b/support/documentation/po/livechat.de.po
@@ -0,0 +1,2183 @@
+# German translations for PACKAGE package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# Automatically generated, 2023.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr "Kontakt"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr "Kontakt"
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr "Wenn Sie eine Frage haben oder über dieses Plugin sprechen möchten, können Sie diesem XMPP-Raum mit einem beliebigen Jabber-Client beitreten: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr "Wenn Sie das Projekt finanziell unterstützen möchten, können Sie mich per E-Mail unter git.[at].john-livingston.fr kontaktieren oder mein [Liberapay-Profil](https://liberapay.com/JohnLivingston/) ansehen.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr "Vereinbarung über Verhaltenskodex für Mitwirkende"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr "Verhaltenskodex"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr "Entwickeln"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr "Sprechen Sie immer über die Funktionen, die Sie entwickeln wollen, indem Sie das Issue, das Ihr Problem behandelt, erstellen/finden und kommentieren bevor Sie mit der Arbeit daran beginnen und informieren Sie die Gemeinschaft darüber, dass Sie mit der Programmierung beginnen, indem Sie das Thema für sich beanspruchen.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr "Bitte benutzen Sie den `main` Zweig.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr "Voraussetzung für die Erstellung dieses Plugins:\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr "Sie müssen `npm` installiert haben\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr "Sie müssen python venv installiert haben (z.B. das Paket `python3-venv` auf Debian)\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, fuzzy, no-wrap
+#| msgid "you must have `npm` installed\n"
+msgid "you must have `build-essential` installed\n"
+msgstr "Sie müssen `npm` installiert haben\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr "Um das Repository zu klonen:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+"Sobald Sie bereit sind, Ihren Code zu zeigen und um Feedback zu bitten, reichen Sie einen *Entwurf* für einen Pull Request ein.\n"
+"Sobald Sie bereit für eine Codeüberprüfung vor der Zusammenführung sind, reichen Sie einen Pull Request ein. In jedem Fall sollten Sie Ihren PR mit dem Problem, die er behebt, verlinken, indem Sie die GitHub-Syntax verwenden: \"fixes #issue_number\".\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr "Der Front-End-Code befindet sich im Ordner `client`, der Back-End-Code im Ordner `server`. Es gibt einige gemeinsam genutzte Codes im `shared` Ordner.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr "Für allgemeine Anweisungen (Entwicklung von Plugins, Erstellung, Installation, ...), lesen Sie bitte die [Peertube Dokumentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr "Sie können das Plugin mit zusätzlichen Debug-Funktionen bauen, indem Sie es einfach benutzen:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr "NODE_ENV=dev npm run build\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, fuzzy, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr "ESBuild vs Typescript"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+"Dieses Plugin verwendet ESBuild für die Generierung von Frontend-Code, wie das offizielle `peertube-plugin-quickstart` Plugin.\n"
+"ESBuild kann mit Typescript umgehen, prüft aber keine Typen\n"
+"(siehe [ESBuild-Dokumentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"Deshalb kompilieren wir Typescript zuerst mit der Option `-noEmit`, nur um die Typen zu überprüfen (`check:client:ts` in der package.json Datei).\n"
+"Dann, wenn alles in Ordnung ist, führen wir ESBuild aus, um das kompilierte Javascript zu erzeugen.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, fuzzy, no-wrap
+msgid "Debug Mode"
+msgstr "Debug Mode"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, fuzzy, no-wrap
+#| msgid "Restart your services:\n"
+msgid "Start your debugger server.\n"
+msgstr "Start your debugger server.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr "Dokumentieren Sie das Plugin, oder übersetzen Sie die Dokumentation."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr "Allgemeine Informationen"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+"Informieren Sie die Community immer vor der Arbeit (indem Sie ein neues Problem erstellen oder ein bestehendes kommentieren).\n"
+"Damit soll vermieden werden, dass zwei Personen an der gleichen Sache arbeiten, und Konflikte zu verhindern.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr "Bitte benutzen Sie den `main`-Zweig.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr "Der Quellcode der Dokumentation befindet sich im Ordner `support/documentation/content`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+"Die Dokumentation wird mit [Hugo](https://gohugo.io/) erstellt.\n"
+"Sie müssen es auf Ihrem Computer installieren, wenn Sie eine Vorschau Ihrer Arbeit sehen wollen.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+"Das verwendete Thema ist [hugo-theme-learn](https://learn.netlify.app/).\n"
+"Sie sollten dessen Dokumentation lesen, bevor Sie mit der Bearbeitung der Dokumentation beginnen.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr "Übersätzungen"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr "Die Hauptsprache ist Englisch (Code `en`).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr "Eine neue Sprache hinzufügen"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr "Kopieren und ändern Sie den Abschnitt `[Languages.fr]` in der Datei `support/documentation/config.toml`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid ""
+#| "Then you can translate them one by one.\n"
+#| "If the translations are not complete, it does not matter, the generated files will display a message suggesting to change the language.\n"
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+"Dann können Sie sie eine Datei nach der anderen übersetzen.\n"
+"Wenn die Übersetzungen nicht vollständig sind, macht das nichts, die generierten Dateien zeigen eine Meldung an, die vorschlägt, die Sprache zu ändern.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr "Vorschau"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr "Um eine Vorschau Ihrer Änderungen zu sehen, führen Sie einfach diesen Befehl aus:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr "hugo serve -s support/documentation/\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+"Öffnen Sie dann Ihren Browser und gehen Sie auf die Adresse [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"Diese Seite wird bei jeder Änderung automatisch aktualisiert.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid "User documentation"
+msgid "Write documentation"
+msgstr "Benutzer Dokumentation"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr "Der Quellcode der Dokumentation befindet sich im Ordner `support/documentation/content`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr "Veröffentlichung"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `main' branch.\n"
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr "Die Veröffentlichung der Dokumentation erfolgt automatisch, sobald die Änderungen in den `main` Zweig eingefügt wurden.\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+"Sie müssen keine Programmierkenntnisse haben, um zu diesem Plugin beizutragen!\n"
+"Andere Beiträge sind auch sehr wertvoll, darunter: Sie können die Software testen und Fehler melden, Sie können Feedback geben, Funktionen die Sie\n"
+"interessieren, Benutzeroberfläche, Design, ...\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr "Beitragen"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr "Interessiert beizutragen? Super!\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr "Impressum des Plugins"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr "Impressum"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) Dateien beinhalten die Lizenzinformationen für dieses Programm und seiner Abhängigkeiten.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr "Das Plugin wird von [John Livingston](https://www.john-livingston.fr/) betrieben.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+"Dank an David Revoy für seine Arbeit an dem Peertube Maskottchen, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"Das Charakterdesign steht unter CC-By-Lizenz, und die SVG-Dateien, die zur Erstellung einiger Logos und Avatare in diesem Plugin verwendet werden, sind GPLv3.0.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr "Vielen Dank an [Framasoft](https://framasoft.org)für die Ermöglichung von [Peertube](https://joinpeertube.org/), für die finanzielle Unterstützung, und für das [Weblate](https://weblate.framasoft.org).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr "Vielen Dank an [ritimo](https://www.ritimo.org/) für die finanzielle Unterstützung.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr "Vielen Dank an [Code Lutin](https://www.codelutin.com/) und [Rétribution Copie Publique](https://copiepublique.fr/) für die finanzielle Unterstützung.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr "Vielen Dank an [NlNet](https://nlnet.nl/) und die [NGI0 Entrust fund](https://nlnet.nl/entrust/) für die finanzielle Unterstützung.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr "Einige erweiterte Funktionen"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr "Fortgeschrittene Nutzung"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr "Matterbridge als Brücke zu anderen Chats nutzen"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr "Matterbridge benutzen"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr "Hier ist ein Tutorial um Matterbridge mit diesem Plugin zu benutzen (nur auf englisch): \n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr "Impressum des Plugins"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr "Start your debugger server.\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, fuzzy, no-wrap
+#| msgid "Plugin peertube-plugin-livechat moderation"
+msgid "Plugin Peertube Livechat administration"
+msgstr "Plugin peertube-plugin-livechat Benutzer Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr "Admin Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, fuzzy, no-wrap
+#| msgid "Plugin peertube-plugin-livechat moderation"
+msgid "Plugin Peertube Livechat settings"
+msgstr "Plugin peertube-plugin-livechat Benutzer Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, fuzzy, no-wrap
+#| msgid "Plugin settings"
+msgid "Settings"
+msgstr "Impressum des Plugins"
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr "Bevor Sie auf eine Hauptversion aktualisieren, lesen Sie bitte die Versionshinweise und die Liste der wichtigsten Änderungen : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr "Plugin Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr "Derzeit funktioniert das Plugin standartmäßig nur für x86_64 CPU Architekturen. Hier sind einige Anleitungen für andere CPU Architekturen."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr "Bekannte Probleme: CPU Kompatibilität"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+"Das im Plugin enthaltene Prosody AppImage funktioniert nur mit x86_64 und arm64 CPU Architekturen.\n"
+"Es ist nicht kompatibel mit anderen CPU-Architekturen.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+"Um das Plugin zu verwenden, müssen Sie Prosody manuell auf Ihrem Server installieren\n"
+"(siehe unten).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr "Sobald dies geschehen ist, müssen Sie in den Plugin-Einstellungen das Häkchen bei `Use system Prosody` setzen.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr "Nicht-Docker Peertube installation"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr "Für die Standardinstallation müssen Sie nur das offizielle `prosody`-Paket für Ihre Linux-Distribution installieren.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr "Zum Beispiel, auf Debian/Ubuntu:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr "sudo apt install prosody\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+"Sie können dann den Dienst deaktivieren, der automatisch startet, wenn Sie Prosody installieren (das Plugin startet einen Prosody-Prozess, der Dienst muss nicht dauerhaft laufen).\n"
+"Zum Beispiel unter Debian/Ubuntu (und anderen Systemd-basierten Linux-Distributionen):\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr "Achtung: Deaktivieren Sie Prosody nicht, wenn es für einen anderen Dienst auf Ihrem Server verwendet wird, wie zum Beispiel Jitsi.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr "Docker"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+"Sie müssen ein Peertube-Image generieren, das Prosody in demselben\n"
+"Container enthält, der auch Peertube beinhaltet.\n"
+"Ich weiß, dass dies nicht der Standardweg ist, um dies mit Docker zu tun, aber bedenken Sie, dass eine vorübergehende Lösung ist.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+"Um ein solches Image zu erzeugen und zu verwenden, lesen Sie bitte die Docker-Dokumentation.\n"
+"Die Docker-Datei, um das Paket zu erzeugen, sollte wie folgt sein:\n"
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr "Yunohost"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr "Sie müssen `metronome` (der von Yunohost bereitgestellte XMPP-Server) deaktivieren, und `prosody` installieren.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr "Dies wird bereits von der Yunohost Peertube Anwendung gemacht, da es für das Plugin vor v6.0.0 erforderlich war.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+"Es kann aber sein, dass es in naher Zukunft entfernt wird (um die Nachteile dieser Methode zu vermeiden).\n"
+"Ich muss mit dem Yunohost Team diskutieren, um zu entscheiden, wie wir die Nachteile minimieren können, und die Kompatibilität zu maximieren.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr "Plugin peertube-plugin-livechat Installationsanleitung"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr "Installationsanleitung"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr "Bevor Sie auf eine Hauptversion aktualisieren, lesen Sie bitte die Versionshinweise und die Liste der wichtigsten Änderungen : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr "Um das Plugin zu installieren oder zu aktualisieren **einfach das Peertube Web-Admin-Interface benutzen**.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr "Hier sind weitere, spezifischere Anweisungen:\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr "Wichtige Hinweise zum aktualisieren von älteren Versionen."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr "Aktualisieren von Versionen vor 6.0.0"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr "WICHTIGER HINWEIS"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr "Seit Version v6.0.0 benötigt dieses Plugin keine andere Prosody-Installation.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr "Falls Sie dieses Plugin vor dieser Version benutzt haben und Sie Prosody manuell installiert haben, können Sie Prosody sicher deinstallieren.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr "Falls Sie ein eigenes Peertube Docker Paket genutzt haben, welches Prosody eingebettet hatte, können Sie zu den offiziellen Peertube Paketen zurück wechseln.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr "Plugin peertube-plugin-livechat Benutzer Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr "Benutzer Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr "Plugin peertube-plugin-livechat Benutzer Dokumentation"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr "Dokumentation"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr "PeerTube plugin livechat"
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, fuzzy, no-wrap
+#| msgid "You can use the language selector in the left menu to view this documentation in different languages.\n"
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr "Sie können die Sprachauswahl im linken Menü verwenden, um diese Dokumentation in verschiedenen Sprachen anzuzeigen.\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr "Einführung"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr "Dieses [Peertube](https://joinpeertube.org/) Plugin ist dafür gedacht, ein Chatsystem für Peertube-Videos bereitzustellen.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr "Siehe eine [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr "Neue Funktionen / Fehler (Bugs)"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr "Neue Funktionen / Fehler (Bugs)"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr "Wenn Sie neue Funktionswünsche, Fehler (Bugs) oder Schwierigkeiten bei der Einrichtung des Plugins haben, können Sie den [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) verwenden.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr "Einen Einblick in die Roadmap für kommende Funktionen finden Sie hier:\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr "[Github Project](https://github.com/users/JohnXLivingston/projects/1).\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr "[Meilensteine auf Github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr "Wenn Sie ein Webdesigner oder ein ConverseJS/Prosody/XMPP-Experte sind und helfen wollen, dieses Plugin zu verbessern, sind Sie gerne willkommen.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "The different translations of the same file are side by side in the tree, and are identified by a language code in the file name extension.\n"
+#~ "Example: `_index.fr.md` is the French translation of `_index.en.md`.\n"
+#~ msgstr ""
+#~ "Die verschiedenen Übersetzungen der gleichen Datei stehen nebeneinander im Verzeichnis und sind durch einen Sprachcode in der Dateinamenerweiterung gekennzeichnet.\n"
+#~ "Beispiel: `_index.fr.md` ist die französische Übersetzung von `_index.en.md`.\n"
+
+#, no-wrap
+#~ msgid "Please note that a missing translation file will not appear in the menus of the generated site.\n"
+#~ msgstr "Bitte beachten Sie, dass eine fehlende Übersetzungsdatei nicht in den Menüs der generierten Website erscheint.\n"
+
+#, no-wrap
+#~ msgid "**Always make sure to create files for all languages**, even if the translation is not yet available.\n"
+#~ msgstr "**Stellen Sie sicher, dass Sie immer alle Dateien für die Sprachen erstellen**, auch wenn die Übersetzung noch nicht verfügbar ist.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "For this, there is a script `doc-generate-missing-translations.sh` in the root of the repository.\n"
+#~ "When you add a new file, you just have to create the english version, then run this script.\n"
+#~ "It will create all missing translations, putting a sample message inviting the user to read the english version.\n"
+#~ msgstr ""
+#~ "Dafür gibt es ein Skript `doc-generate-missing-translations.sh` im Stammverzeichnis des Projektes.\n"
+#~ "Wenn Sie eine neue Datei hinzufügen, müssen Sie nur die englische Version erstellen und dann dieses Skript ausführen.\n"
+#~ "Es erstellt alle fehlenden Übersetzungen und fügt eine Beispielmeldung hinzu, die den Benutzer auffordert, die englische Version zu lesen.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "Then, run the `doc-generate-missing-translations.sh` script.\n"
+#~ "It will create all the missing files.\n"
+#~ msgstr ""
+#~ "Führen Sie dann das Skript `doc-generate-missing-translations.sh` aus.\n"
+#~ "Es wird alle fehlenden Dateien erstellen.\n"
+
+#, no-wrap
+#~ msgid "Translate the plugin"
+#~ msgstr "Übersätzungen"
+
+#, no-wrap
+#~ msgid "Translate"
+#~ msgstr "Übersätzungen"
+
+#, no-wrap
+#~ msgid "Documentation translation"
+#~ msgstr "Dokumentation"
+
+#, no-wrap
+#~ msgid "Adding a new locale"
+#~ msgstr "Eine neue Sprache hinzufügen"
+
+#, no-wrap
+#~ msgid ""
+#~ "If you think there is a missing locale, please check first if it is handled in Peertube.\n"
+#~ "If so, you can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) to ask for it.\n"
+#~ msgstr "Wenn Sie neue Funktionswünsche, Fehler (Bugs) oder Schwierigkeiten bei der Einrichtung des Plugins haben, können Sie den [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) verwenden.\n"
diff --git a/support/documentation/po/livechat.el.po b/support/documentation/po/livechat.el.po
new file mode 100644
index 00000000..181b03e8
--- /dev/null
+++ b/support/documentation/po/livechat.el.po
@@ -0,0 +1,2077 @@
+# Greek translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.en.pot b/support/documentation/po/livechat.en.pot
new file mode 100644
index 00000000..a8322272
--- /dev/null
+++ b/support/documentation/po/livechat.en.pot
@@ -0,0 +1,2077 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# FIRST AUTHOR , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: en_US\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, markdown-text, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, markdown-text, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, markdown-text, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, markdown-text, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, markdown-text, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, markdown-text, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, markdown-text, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, markdown-text, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, markdown-text, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, markdown-text, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, markdown-text, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, markdown-text, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, markdown-text, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, markdown-text, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, markdown-text, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, markdown-text, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, markdown-text, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, markdown-text, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, markdown-text, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, markdown-text, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, markdown-text, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, markdown-text, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, markdown-text, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, markdown-text, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, markdown-text, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, markdown-text, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, markdown-text, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, markdown-text, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, markdown-text, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, markdown-text, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, markdown-text, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, markdown-text, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.eo.po b/support/documentation/po/livechat.eo.po
new file mode 100644
index 00000000..4f733526
--- /dev/null
+++ b/support/documentation/po/livechat.eo.po
@@ -0,0 +1,2077 @@
+# Esperanto translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.es.po b/support/documentation/po/livechat.es.po
new file mode 100644
index 00000000..35f16229
--- /dev/null
+++ b/support/documentation/po/livechat.es.po
@@ -0,0 +1,2077 @@
+# Spanish translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.eu.po b/support/documentation/po/livechat.eu.po
new file mode 100644
index 00000000..87c6c113
--- /dev/null
+++ b/support/documentation/po/livechat.eu.po
@@ -0,0 +1,2076 @@
+# Basque translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.fa.po b/support/documentation/po/livechat.fa.po
new file mode 100644
index 00000000..090dccc0
--- /dev/null
+++ b/support/documentation/po/livechat.fa.po
@@ -0,0 +1,2076 @@
+# Persian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.fi.po b/support/documentation/po/livechat.fi.po
new file mode 100644
index 00000000..a13a1510
--- /dev/null
+++ b/support/documentation/po/livechat.fi.po
@@ -0,0 +1,2077 @@
+# Finnish translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.fr.po b/support/documentation/po/livechat.fr.po
new file mode 100644
index 00000000..1de25db4
--- /dev/null
+++ b/support/documentation/po/livechat.fr.po
@@ -0,0 +1,2565 @@
+# French translations for PACKAGE package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr "Contacter l'auteur"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr "Me contacter"
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr "Si vous avez des questions ou souhaitez parler de ce plugin, vous pouvez rejoindre ce salon XMPP avec n'importe quel client Jabber : [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr "Si vous souhaitez supporter le projet financièrement, vous pouvez me contacter par mail à l'adresse git.[arobase].john-livingston.fr, ou passer par mon [profil Liberapay](https://liberapay.com/JohnLivingston/).\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr "Convention de Code de conduite Contributeur⋅rices"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr "Code de conduite"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr "Développer"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr "Toujours annoncer les fonctionnalités sur lesquelles vous voulez travailler en créant un ticket ou en commentant un ticket existant, avant de commencer à travailler dessus. Et annoncez clairement à la communauté que vous commencez à travailler dessus. Ceci afin d'éviter que plusieurs personnes travaillent sur la même chose et entrent en conflit.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr "Les Pull Request sont à faire sur la branche `main`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr "Jusqu'à mars 2023, il fallait contribuer sur la branche `develop`. Cette procédure est désormais obsolète.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr "Pré-requis pour compiler le plugin:\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr "vous devez avoir installé `npm`\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr "vous devez avoir installé les venv python (paquet `python3-venv` sous Debian par exemple)\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, fuzzy, no-wrap
+#| msgid "you must have `npm` installed\n"
+msgid "you must have `build-essential` installed\n"
+msgstr "vous devez avoir installé `build-essential`\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr "Pour clôner le dépot :\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, fuzzy, no-wrap
+#| msgid ""
+#| "# Clone the repository\n"
+#| "git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git\n"
+#| "# Be sure to checkout the main branch\n"
+#| "git checkout main\n"
+#| "# Initialize the submodules. This command must be run again if any submodules' version changes.\n"
+#| "git submodule update --init --recursive\n"
+#| "\n"
+#| "# Install NPM dependencies and build the module for the first time:\n"
+#| "npm install\n"
+#| "\n"
+#| "# Build the plugin after a modification:\n"
+#| "npm run build\n"
+#| "\n"
+#| "# If you have a fork from the repository, add it as remote (example):\n"
+#| "git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+#| "\n"
+#| "# Create a local branch for you developments, and checkout it (example):\n"
+#| "git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+#| "# To propose your modifications, push your branch to your repository (example):\n"
+#| "git push --set-upstream me my_development\n"
+#| "# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+"# Cloner le dépot\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git\n"
+"# Passer sur la branche main si ce n'est pas déjà le cas\n"
+"git checkout main\n"
+"# Initialiser les sous-modules. Cette commande est à refaire si jamais la version d'un l'un des sous-module change.\n"
+"git submodule update --init --recursive\n"
+"\n"
+"# Installer les dépendances NPM et compiler le plugin pour la première fois :\n"
+"npm install\n"
+"\n"
+"# Compiler le plugin après une modification :\n"
+"npm run build\n"
+"\n"
+"# Si vous avez un fork du dépot, ajoutez le en remote (exemple) :\n"
+"git remote add me git@github.com:MON_COMPTE_GITHUB/peertube-plugin-livechat.git\n"
+"\n"
+"# Créez une branche locale pour vos développements et placez vous dessus (exemple) :\n"
+"git checkout mon_developpement # NB: si un ticket y est associé, utilisé le nom fix_1234 (où 1234 est le numéro du ticket)\n"
+"# Pour proposer vos modifications, poussez votre branche sur votre dépot (exemple) :\n"
+"git push --set-upstream me mon_developpement\n"
+"# Rendez-vous ensuite sur votre dépot github avec votre navigateur web pour proposer la Pull Request (voir les instructions complémentaires ci-dessous)\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+"Quand vous êtes prêt⋅e à montrer votre code pour avoir un retour, soumettez une Pull Request *draft*.\n"
+"Quand vous êtes prêt⋅e pour une relecture de code avant merge, soumettez une Pull Request. Dans tous les cas, merci de lier votre Pull Request au ticket concerné en utilisant la syntax de GitHub : «fixes #issue_number».\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr "Le code du front-end est dans le dossier `client`. Le code backend dans `server`. Il y a du code partagé entre les deux dans `shared`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr "Pour les instructions génériques concernant le développement de plugins (building, installation, ...), merci de vous référer à la [documentation Peertube](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr "Vous pouvez *builder* le plugin avec des infos de debug supplémentaires en utilisant :\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr "NODE_ENV=dev npm run build\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr "ESBuild vs Typescript"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+"Ce plugin utilise ESBuild pour compiler le code front-end, comme le plugin `peertube-plugin-quickstart` officiel.\n"
+"ESBuild peut gérer Typescript, mais ne vérifie pas les types\n"
+"(voir [la documentation ESBuild](https://esbuild.github.io/content-types/#typescript)).\n"
+"C'est pourquoi on compile d'abord Typescript avec l'option `-noEmit`, juste pour vérifier les types (`check:client:ts` dans le fichier package.json).\n"
+"Ensuite, si tout est ok, on lance ESBuild pour générer le javascript compilé.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr "Debug Mode"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+"Il existe un mode de debug pour le plugin, qui va raccourcir le délais de certaines actions.\n"
+"Par exemple, il va faire tourner les journaux toutes les deux minutes, au lieu de tous les jours.\n"
+"Cela permet de tester plus facilement certaines actions, pour lesquelles il faudrait normalement attendre\n"
+"des heures ou des jours.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+"Pour activer ce mode, il suffit de créer un fichier\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode`\n"
+"(en adaptant `/var/www/peertube/storage/` à votre installation le cas échéant).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+"La simple existance de ce fichier suffit à déclencher le mode debug.\n"
+"Pour être sûr qu'il est pris en compte, vous pouvez redémarrer votre instance Peertube.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+"Ce fichier peut également contenir du JSON qui pourra activer d'autres options.\n"
+"Pour en avoir la liste, vous pouvez regarder le code de `server/lib/debug.ts`.\n"
+"Redémarrez Peertube après chaque modification de son contenu.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+"N'activer jamais ce mode sur un serveur de production, ni même sur un serveur public.\n"
+"Cela pourrait poser des problèmes de sécurité.\n"
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr "Redémarrer Prosody"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+"Pour redémarrer Prosody quand le mode debug est activé, vous pouvez appeler l'API\n"
+"`http://votre_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"Cet appel n'a pas besoin d'authentification.\n"
+"Il peut se faire depuis une ligne de commande, par exemple avec\n"
+"`curl http://votre_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr "Prosody debugger"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+"Il est possible de connecter l'AppImage Prosody à un debugger distant en utilisant\n"
+"[MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+"Pour cela, placer MobDebug dans un dossier accessible par le user `peertube`.\n"
+"Ensuite, ajouter cela dans le fichier `debug_mode` du plugin:\n"
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+"`host` et `port` sont optionnels. `debugger_path` doit pointer vers le dossier où\n"
+"se trouve le fichier `.lua` de `MobDebug`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr "Redémarrer Peertube.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr "Lancer votre serveur de debug.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+"Pour que Prosody se connecte au debugger, appelez l'API\n"
+"`http://votre_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"Cet appel n'a pas besoin d'authentification.\n"
+"Il peut se faire depuis une ligne de commande, par exemple avec\n"
+"`curl http://votre_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"Vous pouvez même configurer votre serveur de debuggage pour lancer cette commande\n"
+"automatiquement.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr "Prosody va alors redémarrer en se connectant au debugger.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr "Environnement de développement rapide via Docker"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+"Un tutoriel est disponible sur [le forum Peertube](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"pour expliquer comment monter rapidement un environnement de développement en utilisant Docker.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr "Un dépot a été crée sur la base de ce tutoriel: https://codeberg.org/mose/pt-plugin-dev\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+"Note: pour une raison obscure, Prosody n'arrive pas à résoudre les adresses DNS des conteneurs quand la librairie\n"
+"lua-unbound est utilisée. Pour contourner cela, il y a un «dirty hack»: il suffit de créer une fichier\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` dans vos docker-volumes, puis de les redémarrer.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr "Documenter le plugin, ou traduire la documentation."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr "Documentation"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr "Généralités"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+"Toujours vous annoncer avant de commencer à travailler (en créant un ticket ou en commentant un ticket existant).\n"
+"Ceci afin d'éviter que plusieurs personnes travaillent sur la même chose et entrent en conflit.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr "Le travail de documentation se fait sur la branche `main`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr "Le code source de la documentation se trouve dans le dossier `support/documentation/content` du dépot de code.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+"La documentation est générée via l'outils [Hugo](https://gohugo.io/).\n"
+"Celui-ci doit être installé sur votre machine pour pouvoir prévisualiser la documentation.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+"Le thème utilisé est [hugo-theme-learn](https://learn.netlify.app/).\n"
+"Il est recommandé d'en lire la documentation avant de commencer.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+"Quand une version du plugin est publiée, ou quand la documentation est mise à jour, les mainteneur⋅euses du plugin fusionnerons la branche `main` dans la branche `documentation`.\n"
+"Ce qui aura pour effet de déclencher les pipelines github et gitlab pour mettre à jour les versions publiées.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr "Traductions"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr "La langue principale est l'anglais (code `en`).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr "Ajout d'une nouvelle langue"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr "Dans le fichier `support/documentation/config.toml`, inspirez vous de la section `[Languages.fr]` pour déclarer la nouvelle langue.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid ""
+#| "Then you can translate them one by one.\n"
+#| "If the translations are not complete, it does not matter, the generated files will display a message suggesting to change the language.\n"
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+"Il ne vous reste plus qu'à les traduire.\n"
+"Si les traductions ne sont pas complètes, ce n'est pas grave, les fichiers générés afficherons un message proposant de changer de langue.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr "Prévisualiser"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr "Pour prévisualiser vos modification, il suffit de lancer:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr "hugo serve -s support/documentation/\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+"Puis d'ouvrir votre navigateur à l'adresse [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"Cette page se raffraichira automatiquement à chaque modification.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid "User documentation"
+msgid "Write documentation"
+msgstr "Documentation utilisateur⋅rice"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr "Le code source de la documentation se trouve dans le dossier `support/documentation/content` du dépot de code.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr "Publication"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+#| msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `main' branch.\n"
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr "La publication de la documentation est automatique, dès que les modifications sont fusionnées dans la branche `main`.\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr "Donnez vos retours"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+"Vous n'avez pas besoin de coder pour commencer à contribuer à ce plugin !\n"
+"Les autres formes de contributions sont également précieuses, parmis lesquelles : vous pouvez tester le plugin et remonter les bugs que vous rencontrez, partager vos retours d'expérience, proposer des fonctionnalités qui vous intéressent, remonter vos remarques sur l'interface, le design, etc.\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr "Contribuer"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr "Intéressé⋅e pour contribuer ? Super !\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr "Crédits pour le plugin"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr "Crédits"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+"Les fichiers\n"
+"[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json),\n"
+"[COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md)\n"
+"et [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE)\n"
+"contiennent les informations sur la licence du présent logiciel (en anglais).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr "Le plugin est maintenu par [John Livingston](https://www.john-livingston.fr/).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+"Merci à David Revoy pour son travail sur la mascotte de Peertube, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"Le character design est en licence CC-By, et les fichiers SVG utilisés pour créer certains logos et avatars en GPLv3.0.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr "Merci à [Framasoft](https://framasoft.org) pour avoir rendu [Peertube](https://joinpeertube.org/) possible, pour le support financier, et pour héberger les traductions du projet sur [leur instance Weblate](https://weblate.framasoft.org).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr "Merci à [ritimo](https://www.ritimo.org/) pour le support financier.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr "Merci à [Code Lutin](https://www.codelutin.com/) et à la [Rétribution Copie Publique](https://copiepublique.fr) pour le support financier.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr "Merci à [NlNet](https://nlnet.nl/) et au [fond NGI0 Entrust](https://nlnet.nl/entrust/) pour le support financier.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr "Some advanced features"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr "Advanced usage"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr "Using Matterbridge to bridge with other chats"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr "Using Matterbridge"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr "This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr "Autoriser la connexion en utilisant des clients XMPP."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr "Clients XMPP"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+"Ce module de tchat repose sur le protocole XMPP, aussi connu sous le nom de Jabber.\n"
+"Il est donc possible de se connecter aux tchats en utilisant des [logiciels clients XMPP](https://fr.wikipedia.org/wiki/Clients_XMPP).\n"
+"Cela peut par exemple être utile pour faciliter les opérations de modération.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr "Pour la documentation utilisateur⋅rice associé à ces fonctionnalités, veuillez vous référer à la page [de documentation utilisateur⋅rice](/peertube-plugin-livechat/fr/documentation/user/xmpp_clients/).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+"L'activation de ces fonctionnalités demande des changements de configuration\n"
+"sur le serveur, et sur les enregistrements DNS.\n"
+"Il n'est pas possible de les activer uniquement depuis l'interface de Peertube, et cela demande d'avoir quelques compétences basiques d'admin système.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr "Connexion à votre compte Peertube"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr "Cette fonctionnalité n'est pas encore disponible, et viendra dans une prochaine version du plugin.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr "Connexion en utilisant un compte XMPP externe"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr "Pour activer cette fonctionnalité, il va falloir paraméter votre serveur et vos enregistrements DNS, de sorte que les clients XMPP puissent trouver et accéder au serveur [Prosody](https://prosody.im) que ce plugin utilise en interne.\n"
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr "Paramètres du plugin"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+"Commencez par aller dans les paramètres du plugin livechat de votre instance, puis activez le paramètre «Autoriser les connexions aux salons via des comptes XMPP externes».\n"
+"En cochant celui-ci, de nouveaux champs apparaissent en dessous.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+"Tout d'abord, le champs «Port Prosody serveur vers serveur».\n"
+"Celui-ci prend par défaut la valeur 5269, qui est le port standard pour ce service.\n"
+"Vous pouvez toutefois changer pour un autre port, si celui-ci est déjà utilisé sur votre serveur.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+"Ensuite, le champs «Interfaces réseau pour les connexions serveur vers serveur» vous permet d'indiquer sur quelles interfaces réseau le serveur doit écouter.\n"
+"La valeur par défaut «*, ::» indique d'écouter sur toutes les addresses IP.\n"
+"Vous pouvez changer ces valeurs, si vous souhaiter n'écouter que sur certaines IP.\n"
+"La syntaxe est expliquée à coté du champs.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+"Pour le champs «Dossiers des certificats», vous pouvez le laisser vide.\n"
+"Dans ce cas là, le plugin va générer automatiquement des certificats auto-signés.\n"
+"Il se pourrait que certains serveurs XMPP refusent de se connecter, cela dépendant de leur paramétrage.\n"
+"Dans ce cas, vous pouvez indiquer ici un chemin sur le serveur, dans lequel vous placerez des certificats à utiliser par le module.\n"
+"Charge à vous de les générer et de les renouveller.\n"
+"Voir plus loin pour une explication plus détaillée.\n"
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr "Pare-feu"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr "Vous devez ouvrir le port configuré (5269 par défaut) sur votre pare-feu.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr "Si vous utilisez Docker pour votre Peertube, il faut modifier le fichier `docker-compose.yml` pour ouvrir le port 5269 du conteneur `peertube` au monde extérieur.\n"
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr "DNS"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr "Vous devez ajouter un [enregistrement DNS](https://prosody.im/doc/dns) permettant aux serveurs distant de trouver le composant «room.votre_instance.tld».\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr "Le plus simple pour cela est d'ajouter un enregistrement SRV pour le [sous-domaine](https://prosody.im/doc/dns#subdomains) «room»:\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr "nom de l'enregistrement: _xmpp-server._tcp.room.votre_instance.tld. (remplacez «votre_instance.tld» par la valeur adéquate)\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr "TTL: 3600\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr "class: IN\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr "SRV: 0\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr "priority: 0\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr "weight: 5\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr "port: 5269 (adaptez si vous avez changé le port)\n"
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr "target: votre_instance.tld. (remplacez par la valeur adéquate)\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr "Attention à bien conserver le point après «votre_instance.tld».\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr "En utilisant la commande `dig` pour vérifier votre enregistrement, vous devriez obtenir un résultat similaire à celui-ci:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+"Si vous **n'utilisez pas le port standard `5269`**, vous devez ajouter un autre enregistrement SRV pour `_xmpp-server._tcp.votre_instance.tld.` (pareil que précédemment, mais en enlevant le préfixe `room.`).\n"
+"Bien sûr, vous pouvez l'ajouter même si vous utilisez le port standard. Cela fonctionnera également.\n"
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr "Utilisation de certificats de confiance"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+"Les certificats auto-signés que le plugin utilise par défaut peuvent ne pas convenir à tous les serveurs distants.\n"
+"En effet, ceux-ci peuvent les refuser pour raison de sécurité.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+"Il est possible d'utiliser des certificats validés par une autorité de certification.\n"
+"Cependant cela demande des connaissances d'administration système avancées.\n"
+"En effet, devant la multitude de cas possibles, il est impossible de documenter ici toutes les situations.\n"
+"La présente documentation va donc se contenter de vous expliquer le but à atteindre, et donner un example qui ne conviendra qu'à une situation «basique» (installation manuelle de Peertube, avec utilisation de letsencrypt).\n"
+"Si vous êtes dans une autre situation (installation Docker, certificats signés par une autre autorité, etc...), il vous faudra adapter la démarche.\n"
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr "Principe de base"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+"À vous de générer des certificats valides pour les domaines `votre_instance.tld` et `room.votre_instance.tld`.\n"
+"Vous pouvez utiliser n'importe quelle [méthode supportées par Prosody](https://prosody.im/doc/certificates).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr "Vous devez ensuite placer ces certificats dans un dossier qui sera accessible au user `peertube`, puis indiquer ce dossier dans le paramètre du plugin «Dossiers des certificats».\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+"Si vous voulez utiliser l'utilitaire ProsodyCtl (pour importer des certificats letsencrypts, générer des certificats, etc...), cet utilitaire est disponible (une fois Peertube démarré) en utilisant la commande qui suit (en adaptant le chemin vers votre dossier data Peertube, et en remplaçant «xxx» par les arguments que vous souhaitez passer à prosodyctl) :\n"
+"`sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr "Le plugin va vérifier une fois par jour si des fichiers ont été modifiés dans ce dossier, et recharger Prosody le cas échéant.\n"
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr "Méthode dans le cas simple"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr "Nous supposons ici que votre installation de Peertube est «classique» (pas d'utilisation de Docker), et que les certificats sont générés par letsencrypt, en utilisant l'outils certbot.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr "Tout d'abord, on va devoir créer un certificat pour le sous-domain `room.votre_instance.tld` : c'est l'uri du composant MUC (salons de discussion XMPP). Même si les connections se font sur `votre_instance.tld`, il va nous falloir un certificat valide pour ce sous-domaine.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+"Commencez donc par paraméter une entrée DNS pour `room.votre_instance.tld`, qui pointe sur votre serveur.\n"
+"Vous pouvez tout à faire faire une entrée CNAME (ou une entrée A et une entrée AAAA).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+"Ensuite, nous allons utiliser nginx (déjà installé pour votre Peertube) pour générer le certificat certbot.\n"
+"On va créer un nouveau site. Dans le fichier `/etc/nginx/site-available/room.peertube`, ajoutez:\n"
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.votre_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://votre_instance.tld; }\n"
+"}\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr "Ensuite on active ce site:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+"On prépare ensuite le dossier dans lequel on va plus tard importer les certificats.\n"
+"On suppose ici que vous avez déjà le plugin actif. On va créer le dossier suivant (s'il n'existe pas déjà), avec le user `peertube` pour être sûr qu'il n'y a pas de problème de droits:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+"Il faut maintenant configurer ce dossier dans les paramètres du plugin, pour «Dossiers des certificats».\n"
+"C'est important de le faire avant la suite, sinon le script d'import des certificats va les placer au mauvais endroit.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+"On va configurer certbot pour qu'il importe les certificats générés dans le dossier de Prosody.\n"
+"On va pouvoir utiliser l'utilistaire ProsodyCtl packagé dans le plugin.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr "Note: pour qu'il soit disponible, il faut que le plugin ai démarré au moins une fois.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr "On va créer un fichier `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` contenant:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.votre_instance.tld votre_instance.tld /etc/letsencrypt/live\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr "Puis on demande à générer le certificat :\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr "certbot -d room.videos.john-livingston.fr\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr "Si certbot vous propose plusieurs méthodes pour générer le certificat, choisissez «nginx».\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr "Normalement vous devriez maintenant trouver les certificats dans le dossier configuré.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr "Note: la première fois que vous faites tout ça, il va falloir recharger Prosody. Le plus simple pour cela est de redémarrer Peertube.\n"
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr "Méthode en cas d'utilisation de Docker"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr "Enter the directory where your `docker-compose.yml` file exists.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr "Open a shell in the certbot container:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr "docker exec -it certbot /bin/sh\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr "Run certbot:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr "certbot\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr "Enter the domain name `room.your_instance.tld`:\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr "You should see output like the following:\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr "Exit the certbot container:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr "exit\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr "Restart your services:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr "docker-compose down; docker-comopse up -d\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr "/etc/letsencrypt/live\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr "Save the plugin settings and verify Prosody can see the certificates:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr "En cas de problème"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr "Si cela ne fonctionne pas, vous pouvez utiliser l'outils de diagnostic (un bouton se trouve en haut de la page des paramètres du plugin), et notamment regarder ce que dit la section «Prosody check».\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr "Plugin Peertube Livechat administration"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr "Admin documentation"
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr "Plugin Peertube Livechat administration"
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr "Paramètres du plugin"
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr "Fédération"
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr "Avant de mettre à jour le plugin vers une nouvelle version majeure, merci de lire les notes de version, et la liste des éventuelless modifications non rétro-compatibles : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr "Documentation du plugin"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr "Pour l'instant le plugin ne supporte de base que les architectures CPU x86_64 et arm64. Veuillez trouver ici des instructions pour le faire fonctionner sur d'autres architectures CPU."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr "Problème connu: compatibilité CPU"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+"L'AppImage Prosody inclue dans le plugin ne fonctionne que sur des CPU x86_64 et arm64.\n"
+"Elle n'est pas compatible avec d'autres architectures CPU.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+"Pour utiliser le plugin, vous allez devoir installer manuellement Prosody sur\n"
+"votre serveur (voir plus bas).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+"Note: la version de Prosody devrait être supérieure ou égale à 0.12.0.\n"
+"Si vous utilisez une version plus ancienne, il pourrait y avoir des bugs sur la fédération du tchat, et d'autres comportements inattendus.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr "Une fois cela fait, vous aurez à cocher le paramètre `Use system Prosody` du plugin.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr "Installation autres que Docker"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr "Pour les installations standard, vous avez juste à installer le paquet `prosody` officiellement disponible pour votre distribution linux.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr "Par exemple, sur Debian/Ubuntu:\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr "sudo apt install prosody\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+"Vous pouvez alors désactiver le service qui démarre automatiquement quand vous installé le paquet (le plugin va lancer son propre processus Prosody, et n'a pas besoin que le service tourne sur le serveur).\n"
+"Par exemple, sur Debian/Ubuntu (et les autres distributions se basant sur Systemd):\n"
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+"Attention: ne désactivez pas Prosody s'il est utilisé par un autre service sur\n"
+"votre serveur, par exemple pour Jitsi.\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr "Docker"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+"Vous allez devoir générer une image de Peertube qui inclu Prosody dans le même conteneur que Peertube.\n"
+"Je sais que ce n'est pas la façon de faire standard avec Docker, mais gardez en tête que ceci est une solution de contournement temporaire.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+"Pour générer cette image, merci de vous référer à la documentation de Docker.\n"
+"Le fichier Docker pour générer l'image devrait être:\n"
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr "Yunohost"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr "Vous avez à désactiver `metronome` (le serveur XMPP utilisé par Yunohost), et installer`prosody`.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+"Ceci est déjà fait par l'application Yunohost Peertube, étant donné que c'était\n"
+"un pré-requis pour les version du plugin antérieures à la v6.0.0.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+"Mais il se pourrait que ce soit retiré de l'application Yunohost Peertube dans un\n"
+"futur proche (pour éviter les inconvénients de cette méthode).\n"
+"Je dois discuter avec l'équipe Yunohost, pour décider de la bonne façon de faire\n"
+"pour minimiser les inconvénients et maximiser la compatibilité.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr "Installation du plugin peertube-plugin-livechat"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr "Documentation d'installation"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr "Avant de mettre à jour le plugin vers une nouvelle version majeure, merci de lire les notes de version, et la liste des éventuelless modifications non rétro-compatibles : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr "Pour installer ou mettre à jour ce plugin, **utilisez simplement l'interface web d'administration de votre Peertube**.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr "Vous trouverez ci-dessous d'autres instructions :\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr "Notes importantes pour la mise à jour depuis une ancienne version du plugin."
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr "Mise à jour depuis une version antérieure à 6.0.0"
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr "IMPORTANT NOTE"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr "Depuis la version v6.0.0, ce plugin ne nécessite plus l'installation de Prosody.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr "Si vous utilisiez ce plugin avant, et que vous aviez installé Prosody manuellement, vous pouvez le désinstaller en tout sécurité.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr "Si vous utilisiez l'image docker spéciale de Peertube (qui incluais Prosody), vous pouvez basculer sur l'image officielle de Peertube.\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr "Documentation utilisateur⋅rice du plugin peertube-plugin-livechat"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr "Documentation utilisateur⋅rice"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr "Documentation utilisateur⋅rice du plugin peertube-plugin-livechat"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr "Modération"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr "Se connecter au tchat avec un client XMPP"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr "Clients XMPP"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+"Ce module de tchat repose sur le protocole XMPP, aussi connu sous le nom de Jabber.\n"
+"Il est donc possible de se connecter aux tchats en utilisant des\n"
+"[logiciels clients XMPP](https://fr.wikipedia.org/wiki/Clients_XMPP).\n"
+"Cela peut par exemple être utile pour faciliter les opérations de modération.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+"Les fonctions décrites dans cette page doivent être activées et configurées par\n"
+"les administrateur⋅rices de votre instance Peertube. Il se peut donc que vous\n"
+"n'y ayez pas accès.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+"Si cette fonctionnalité est activée sur votre instance, vous pouvez vous\n"
+"connecter aux tchats Peertube en utilisant un compte XMPP quelconque.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+"Pour obtenir l'adresse du salon à rejoindre, vous pouvez utiliser la fenêtre\n"
+"de «partage» du tchat, dont le bouton est situé au dessus du tchat:\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr "\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+"Par défaut, le bouton de partage n'est visible que pour le ou la propriétaire de la vidéo,\n"
+"et les admins/modérateur⋅rices de l'instance.\n"
+"Toutefois, les admins peuvent décider d'afficher ce bouton pour tout le monde.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr "Ensuite, dans la modale qui s'affiche, choississez «Connexion avec un client XMPP»:\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr "\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+"Il vous suffit ensuite, soit de cliquer sur «ouvrir», soit de copier/coller l'adresse du salon dans votre client XMPP\n"
+"(en utilisant la fonctionnalité «rejoindre un salon»).\n"
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr "PeerTube plugin livechat"
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+"Vous pouvez utiliser le sélecteur de langue dans le menu de gauche pour afficher cette documentation dans différentes langues.\n"
+"Certaines traductions sont manquantes ou incomplètes. Dans ce cas, vous verrez la version anglaise du texte.\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr "Introduction"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr "Ce plugin pour [Peertube](https://joinpeertube.org/) permet d'intégrer un système de «chat» (clavardage) à coté des vidéos.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr "Voir une [démo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr "Évolutions / suivi des bugs"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr "Évolutions / Bugs"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr "Si vous avez des demandes de nouvelles fonctionnalités, des bugs, ou des difficultés à installer et utiliser le plugin, vous pouvez utiliser l'outils [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). Si possible, merci d'y écrire en anglais ; mais le français sera accepté.\n"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr "Pour avoir un apperçu de la feuille de routes pour les fonctionnalités à venir, vous pouvez vous référer à :\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr "ce [projet github](https://github.com/users/JohnXLivingston/projects/1).\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr "les [jalons sur github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr "Si vous êtes webdesigner ou avez une expertise en ConverseJS/Prosody/XMPP et souhaitez participer à l'évolution de ce plugin, n'hésitez pas à me contacter.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "The different translations of the same file are side by side in the tree, and are identified by a language code in the file name extension.\n"
+#~ "Example: `_index.fr.md` is the French translation of `_index.en.md`.\n"
+#~ msgstr ""
+#~ "Les différentes traductions d'un même fichier sont côte-à-côte dans l'arborescence, et sont identifiées par un code langue dans l'extension du nom de fichier.\n"
+#~ "Exemple: `_index.fr.md` est la tranduction française de `_index.en.md`.\n"
+
+#, no-wrap
+#~ msgid "Please note that a missing translation file will not appear in the menus of the generated site.\n"
+#~ msgstr ""
+#~ "Attention, un fichier de traduction manquant n'apparaitra pas dans les menus\n"
+#~ "du site générés.\n"
+
+#, no-wrap
+#~ msgid "**Always make sure to create files for all languages**, even if the translation is not yet available.\n"
+#~ msgstr "**On veillera donc toujours à créer les fichiers pour toutes les langues**, même si la traduction n'est pas encore disponible.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "For this, there is a script `doc-generate-missing-translations.sh` in the root of the repository.\n"
+#~ "When you add a new file, you just have to create the english version, then run this script.\n"
+#~ "It will create all missing translations, putting a sample message inviting the user to read the english version.\n"
+#~ msgstr ""
+#~ "Pour cela, il y a un script `doc-generate-missing-translations.sh` à la racine du dépot.\n"
+#~ "Quand on ajoute un nouveau fichier, il suffit de créer la version anglaise, puis de lancer ce script.\n"
+#~ "Il va créer toutes les traductions manquantes, on y mettant un message type invitant l'utilisateur⋅rice à lire la version anglaise.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "Then, run the `doc-generate-missing-translations.sh` script.\n"
+#~ "It will create all the missing files.\n"
+#~ msgstr ""
+#~ "Ensuite, lancez le script `doc-generate-missing-translations.sh` à la racine du dépot.\n"
+#~ "Celui-ci crééra tous les fichiers manquants pour la nouvelle langue.\n"
+
+#, no-wrap
+#~ msgid "Translate the plugin"
+#~ msgstr "Traduire le plugin"
+
+#, no-wrap
+#~ msgid "Translate"
+#~ msgstr "Traduction"
+
+#, no-wrap
+#~ msgid ""
+#~ "You can contribute to this plugin translation.\n"
+#~ "Translations are handled using the [Weblate](https://weblate.org/) software,\n"
+#~ "using [Framasoft Weblate instance](https://weblate.framasoft.org/).\n"
+#~ msgstr ""
+#~ "Vous pouvez contribuer à la traduction de ce plugin Peertube.\n"
+#~ "Les traductions sont gérées par le logiciel [Weblate](https://weblate.org/),\n"
+#~ "via [l'instance Weblate de Framasoft](https://weblate.framasoft.org/).\n"
+
+#, no-wrap
+#~ msgid "Never modify directly files in the `languages` folder, this could lead to conflicts.\n"
+#~ msgstr ""
+#~ "Ne modifiez jamais directement les fichiers dans le dossier `languages` du plugin,\n"
+#~ "vous risqueriez de créer des conflits.\n"
+
+#, no-wrap
+#~ msgid "How to"
+#~ msgstr "Comment faire"
+
+#, no-wrap
+#~ msgid "Create an account: https://weblate.framasoft.org/accounts/register/\n"
+#~ msgstr "Créez-vous un compte: https://weblate.framasoft.org/accounts/register/\n"
+
+#, no-wrap
+#~ msgid "Validate your email and follow the link sent\n"
+#~ msgstr "Validez votre email en cliquant sur le lien reçu\n"
+
+#, no-wrap
+#~ msgid "Create your password and setup your account\n"
+#~ msgstr "Choisissez votre mot de passe, et configurez votre compte\n"
+
+#, no-wrap
+#~ msgid "Go to the plugin project page: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/\n"
+#~ msgstr "Allez sur le projet du plugin de tchat: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/\n"
+
+#, no-wrap
+#~ msgid "Choose the locale you want to translate\n"
+#~ msgstr "Choisissez la langue que vous voulez traduire\n"
+
+#, no-wrap
+#~ msgid "Just translate missing sentences, or correct the ones that seems incorrect to you.\n"
+#~ msgstr "Il ne vous reste plus qu'à ajouter les traductions manquantes, ou corriger celles qui vous semblent erronées.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "There might be some «very technical» strings. If you are not 100% sure of\n"
+#~ "the meaning, or of your translation, you better not translate it,\n"
+#~ "so it will display in english.\n"
+#~ msgstr ""
+#~ "Il peut y avoir des chaînes «assez techniques».\n"
+#~ "Si vous n'êtes pas sûr⋅e à 100% du sens, ou de la traduction,\n"
+#~ "il vaut mieux ne pas la traduire du tout ;\n"
+#~ "ainsi la version anglaise s'affichera.\n"
+
+#, no-wrap
+#~ msgid "Documentation translation"
+#~ msgstr "Traduction de la documentation"
+
+#, no-wrap
+#~ msgid "Fow now, this is not done on Weblate. I am still looking for the good technical solution.\n"
+#~ msgstr ""
+#~ "Pour l'instant, cela n'est pas encore géré dans Weblate. Je suis encore à la recherche de la bonne\n"
+#~ "solution technique.\n"
+
+#, no-wrap
+#~ msgid "Please refer to the \"documentation\" documentation page.\n"
+#~ msgstr "Voir la page de documentation dédiée à la documentation.\n"
+
+#, no-wrap
+#~ msgid "Adding a new locale"
+#~ msgstr "Ajout d'une nouvelle langue"
+
+#, no-wrap
+#~ msgid ""
+#~ "If you think there is a missing locale, please check first if it is handled in Peertube.\n"
+#~ "If so, you can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) to ask for it.\n"
+#~ msgstr ""
+#~ "Si la langue qui vous intéresse n'est pas présente, assurez-vous d'abord qu'elle est bien supportée par Peertube.\n"
+#~ "Si c'est le cas, vous pouvez [ouvrir un ticket](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues)\n"
+#~ "pour en demander l'ajout.\n"
+
+#, no-wrap
+#~ msgid "Adding new strings / use translations in the code"
+#~ msgstr "Ajout de nouveau segment / utilisation dans le code"
+
+#, no-wrap
+#~ msgid ""
+#~ "If you are working on new features, and need new strings, you can create them directly in Weblate.\n"
+#~ "The english version is mandatory. Start with it.\n"
+#~ msgstr ""
+#~ "Si vous travaillez sur une nouvelle fonctionnalité, et que vous avez besoin de nouveaux segments,\n"
+#~ "créez les directement dans Weblate.\n"
+#~ "La version anglaise est obligatoire, commencez par celle-ci.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "Each string is linked to a key (for example `use_chat`).\n"
+#~ "Choose an explicit key in english, lower case.\n"
+#~ msgstr ""
+#~ "Chaque segment est lié à une clé (par exemple `use_chat`).\n"
+#~ "Choisissez une clé en anglais, suffisamment explicite, et en minuscule.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "If you have to test new strings without waiting for a Weblate merge, you can modify `languages/*.yml` files,\n"
+#~ "but avoid to commit these changes (to minimize conflict risks).\n"
+#~ msgstr ""
+#~ "Si vous avez besoin de tester vos localisations sans attendre la fusion venant de Weblate,\n"
+#~ "vous pouvez modifier les fichiers `languages/*.yml`, mais évitez de les commit\n"
+#~ "(pour minimiser le risque de conflits).\n"
+
+#, no-wrap
+#~ msgid "Use translations in front-end code"
+#~ msgstr "Utiliser un segment dans le code front-end"
+
+#, no-wrap
+#~ msgid ""
+#~ "Before using a string in front-end, you need to declare a new constant in `client/@types/global.d.ts`.\n"
+#~ "The constant name must:\n"
+#~ msgstr ""
+#~ "Avant d'utiliser une chaîne en front-end, il faut déclarer une nouvelle constante dans `client/@types/global.d.ts`.\n"
+#~ "La constante doit :\n"
+
+#, no-wrap
+#~ msgid "start with the prefix \"LOC_\"\n"
+#~ msgstr "commencer par le préfixe \"LOC_\"\n"
+
+#, no-wrap
+#~ msgid "use the string key, upper cased\n"
+#~ msgstr "utiliser la clé de la chaîne, en majuscule\n"
+
+#, no-wrap
+#~ msgid "you just have to declare its type, not its value\n"
+#~ msgstr "vous ne devez déclarer que son type, pas sa valeur\n"
+
+#, no-wrap
+#~ msgid "For example, to use \"use_chat\", you have to declare:\n"
+#~ msgstr ""
+#~ "Par exemple, pour utiliser \"use_chat\", vous devez déclarer :\n"
+#~ "e, to use \"use_chat\", you have to declare:\n"
+
+#, no-wrap
+#~ msgid "declare const LOC_USE_CHAT: string\n"
+#~ msgstr "declare const LOC_USE_CHAT: string\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "The `build-client.js` script will read the `client/@types/global.d.ts`,\n"
+#~ "search for such constants, and load their values from the languages files.\n"
+#~ msgstr "Le script `build-client.js` va lire ce fichier `client/@types/global.d.ts`, chercher pour de telles constantes, et charger leurs valeurs depuis le fichier de langue.\n"
+
+#, no-wrap
+#~ msgid "Now, you can simply call `peertubeHelpers.translate(LOC_USE_CHAT)` in your code.\n"
+#~ msgstr "Vous pouvez maintenant utiliser `peertubeHelpers.translate(LOC_USE_CHAT)` dans votre code.\n"
+
+#, no-wrap
+#~ msgid "Use translations in back-end code"
+#~ msgstr "Utiliser un segment dans le code back-end"
+
+#, no-wrap
+#~ msgid ""
+#~ "In theory, the only parts of the backend code where you need localization is the\n"
+#~ "settings declaration and standardized data (ActivityPub, RSS, ...).\n"
+#~ "Here we need to get english strings from the translation key.\n"
+#~ msgstr ""
+#~ "En théorie, les seules parties du code qui ont besoin de traductions sont les déclarations de paramètres et la génération de données standardisées (ActivityPub, RSS, ...).\n"
+#~ "Ici on a besoin de récupérer les chaînes anglaises à partir des clés de traduction.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "Note: you should never need another language translation from backend code.\n"
+#~ "Localization must be done on front-end.\n"
+#~ msgstr ""
+#~ "Note: vous ne devriez jamais avoir besoin d'autres langues que l'anglais pour le code backend.\n"
+#~ "Les traductions doivent se faire coté front-end.\n"
+
+#, no-wrap
+#~ msgid ""
+#~ "There is a `lib/loc.ts` module providing a `loc()` function.\n"
+#~ "Just pass it the key to have the english string: `loc('diagnostic')`'.\n"
+#~ msgstr ""
+#~ "Il y a un module `lib/loc.ts` qui fourni une function `loc()`.\n"
+#~ "Passez juste la clé pour récupérer la phrase anglaise: `loc('diagnostic')`.\n"
diff --git a/support/documentation/po/livechat.gd.po b/support/documentation/po/livechat.gd.po
new file mode 100644
index 00000000..e9e18b1a
--- /dev/null
+++ b/support/documentation/po/livechat.gd.po
@@ -0,0 +1,2076 @@
+# Scottish Gaelic translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: gd\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.gl.po b/support/documentation/po/livechat.gl.po
new file mode 100644
index 00000000..7f970587
--- /dev/null
+++ b/support/documentation/po/livechat.gl.po
@@ -0,0 +1,2076 @@
+# Galician translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.hr.po b/support/documentation/po/livechat.hr.po
new file mode 100644
index 00000000..05208ee9
--- /dev/null
+++ b/support/documentation/po/livechat.hr.po
@@ -0,0 +1,2077 @@
+# Croatian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.hu.po b/support/documentation/po/livechat.hu.po
new file mode 100644
index 00000000..c895ccec
--- /dev/null
+++ b/support/documentation/po/livechat.hu.po
@@ -0,0 +1,2077 @@
+# Hungarian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.is.po b/support/documentation/po/livechat.is.po
new file mode 100644
index 00000000..64283efd
--- /dev/null
+++ b/support/documentation/po/livechat.is.po
@@ -0,0 +1,2076 @@
+# Icelandic translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.it.po b/support/documentation/po/livechat.it.po
new file mode 100644
index 00000000..58f018b2
--- /dev/null
+++ b/support/documentation/po/livechat.it.po
@@ -0,0 +1,2077 @@
+# Italian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.ja.po b/support/documentation/po/livechat.ja.po
new file mode 100644
index 00000000..d43b7fcd
--- /dev/null
+++ b/support/documentation/po/livechat.ja.po
@@ -0,0 +1,2097 @@
+# Japanese translations for PACKAGE package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-12 12:16+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, fuzzy, no-wrap
+msgid "Contact the author"
+msgstr "お問い合わせ"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, fuzzy, no-wrap
+msgid "Contact me"
+msgstr "お問い合わせ"
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, fuzzy, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr "もし、ご質問、このプラグインに関して話したいことがある場合、お好きなJabberクライアントを使って、こちらのXMPPルームに参加してください: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, fuzzy, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr "もし、プロジェクトを金銭面でご支援頂ける場合は、メールにて git.[at].john-livingston.fr, までご連絡頂くか、私の[Liberapay profile](https://liberapay.com/JohnLivingston/)をご確認頂けますと幸いです。\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, fuzzy, no-wrap
+msgid "Documentation"
+msgstr "ドキュメンテーション"
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr "ドキュメンテーション"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, fuzzy, no-wrap
+msgid "Write documentation"
+msgstr "ドキュメンテーション"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, fuzzy, no-wrap
+msgid "Contributing"
+msgstr "はじめに"
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "Plugin Credits"
+msgstr "クレジット"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "Credits"
+msgstr "クレジット"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+"[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json)、\n"
+"[COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md)\n"
+"と [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE)\n"
+"ファイルには、このソフトウェアと使用しているライブラリなどのライセンス情報が含まれています。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+"Peertubeのマスコット[Sepia](https://www.davidrevoy.com/index.php?tag/peertube)を制作してくださったDavid Revoy氏に感謝致します。\n"
+"キャラクターデザインは、CC-Byライセンスであり、本プラグインの一部のロゴとアバターを作成する為に使用されているSVGファイルはGPLv3.0です。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr "[Peertube](https://joinpeertube.org/)を実現し、また経済的な支援も行っている[Framasoft](https://framasoft.org)に感謝致します。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr "経済的な支援を行って頂いている[ritimo](https://www.ritimo.org/)に感謝致します。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr "経済的な支援を行って頂いている[Code Lutin](https://www.codelutin.com/)/[Rétribution Copie Publique](https://copiepublique.fr/)に感謝致します。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, fuzzy, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr "経済的な支援を行って頂いている[NlNet](https://nlnet.nl/)/[NGI0 Entrust fund](https://nlnet.nl/entrust/)(https://copiepublique.fr/)に感謝致します。\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, fuzzy, no-wrap
+msgid "Plugin settings"
+msgstr "クレジット"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, fuzzy, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr "クレジット"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, fuzzy, no-wrap
+msgid "Admin documentation"
+msgstr "ドキュメンテーション"
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, fuzzy, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr "クレジット"
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, fuzzy, no-wrap
+msgid "Settings"
+msgstr "クレジット"
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, fuzzy, no-wrap
+msgid "Federation"
+msgstr "ドキュメンテーション"
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, fuzzy, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr "メジャーリリースのアップデート実施前に、リリースノートをお読み頂き、変更をご確認ください : [変更履歴](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, fuzzy, no-wrap
+msgid "Plugin documentation"
+msgstr "ドキュメンテーション"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, fuzzy, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr "PeerTube ライブチャットプラグイン"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, fuzzy, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr "メジャーリリースのアップデート実施前に、リリースノートをお読み頂き、変更をご確認ください : [変更履歴](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, fuzzy, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr "PeerTube ライブチャットプラグイン"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, fuzzy, no-wrap
+msgid "User documentation"
+msgstr "ドキュメンテーション"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, fuzzy, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr "PeerTube ライブチャットプラグイン"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, fuzzy, no-wrap
+msgid "Moderation"
+msgstr "ドキュメンテーション"
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, fuzzy, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr "PeerTube ライブチャットプラグイン"
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, fuzzy, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr "左側のメニューにある言語セレクターを使って、このドキュメントをさまざまな言語で表示することができます。\n"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, fuzzy, no-wrap
+msgid "Introduction"
+msgstr "はじめに"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, fuzzy, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr "この[Peertube](https://joinpeertube.org/)プラグインは、お使いのPeerTubeインスタンスの動画に対してチャットシステムを提供します。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, fuzzy, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, fuzzy, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr "実際の動きを[デモ](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae)でご確認頂けます。\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, fuzzy, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr "新規機能のリクエスト / バグトラッキング"
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, fuzzy, no-wrap
+msgid "Bug tracking & new features"
+msgstr "新規機能のリクエスト / バグトラッキング"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, fuzzy, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr "新しい機能のリクエスト、バグ、プラグインのセットアップ時に問題が発生した場合は、[Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues)から報告してください。\n"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, fuzzy, no-wrap
+#| msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, fuzzy, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr "あなたがWebデザイナーの方または、ConverseJS/Prosody/XMPP上級者の方の場合は、このプラグインをより良くする為に力を貸してください、歓迎致します。\n"
+
+#, fuzzy, no-wrap
+#~ msgid "Documentation translation"
+#~ msgstr "ドキュメンテーション"
+
+#, fuzzy, no-wrap
+#~ msgid ""
+#~ "If you think there is a missing locale, please check first if it is handled in Peertube.\n"
+#~ "If so, you can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) to ask for it.\n"
+#~ msgstr "新しい機能のリクエスト、バグ、プラグインのセットアップ時に問題が発生した場合は、[Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues)から報告してください。\n"
diff --git a/support/documentation/po/livechat.kab.po b/support/documentation/po/livechat.kab.po
new file mode 100644
index 00000000..393ba956
--- /dev/null
+++ b/support/documentation/po/livechat.kab.po
@@ -0,0 +1,2076 @@
+# Kabyle translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: kab\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.nb.po b/support/documentation/po/livechat.nb.po
new file mode 100644
index 00000000..70b1acd0
--- /dev/null
+++ b/support/documentation/po/livechat.nb.po
@@ -0,0 +1,2077 @@
+# Norwegian Bokmal translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.nl.po b/support/documentation/po/livechat.nl.po
new file mode 100644
index 00000000..3a8b5d74
--- /dev/null
+++ b/support/documentation/po/livechat.nl.po
@@ -0,0 +1,2077 @@
+# Dutch translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.nn.po b/support/documentation/po/livechat.nn.po
new file mode 100644
index 00000000..bd515ceb
--- /dev/null
+++ b/support/documentation/po/livechat.nn.po
@@ -0,0 +1,2077 @@
+# Norwegian Nynorsk translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.oc.po b/support/documentation/po/livechat.oc.po
new file mode 100644
index 00000000..25d932d3
--- /dev/null
+++ b/support/documentation/po/livechat.oc.po
@@ -0,0 +1,2076 @@
+# Occitan translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: oc\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.pl.po b/support/documentation/po/livechat.pl.po
new file mode 100644
index 00000000..45f2faac
--- /dev/null
+++ b/support/documentation/po/livechat.pl.po
@@ -0,0 +1,2077 @@
+# Polish translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.pt.po b/support/documentation/po/livechat.pt.po
new file mode 100644
index 00000000..2fb0320a
--- /dev/null
+++ b/support/documentation/po/livechat.pt.po
@@ -0,0 +1,2077 @@
+# Portuguese translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.ru.po b/support/documentation/po/livechat.ru.po
new file mode 100644
index 00000000..e49fed1a
--- /dev/null
+++ b/support/documentation/po/livechat.ru.po
@@ -0,0 +1,2077 @@
+# Russian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.sq.po b/support/documentation/po/livechat.sq.po
new file mode 100644
index 00000000..0dbc2447
--- /dev/null
+++ b/support/documentation/po/livechat.sq.po
@@ -0,0 +1,2076 @@
+# Albanian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sq\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.sv.po b/support/documentation/po/livechat.sv.po
new file mode 100644
index 00000000..9eca82b8
--- /dev/null
+++ b/support/documentation/po/livechat.sv.po
@@ -0,0 +1,2077 @@
+# Swedish translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.th.po b/support/documentation/po/livechat.th.po
new file mode 100644
index 00000000..149744c8
--- /dev/null
+++ b/support/documentation/po/livechat.th.po
@@ -0,0 +1,2076 @@
+# Thai translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.tok.po b/support/documentation/po/livechat.tok.po
new file mode 100644
index 00000000..50e63def
--- /dev/null
+++ b/support/documentation/po/livechat.tok.po
@@ -0,0 +1,2076 @@
+# Language tok translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: tok\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.uk.po b/support/documentation/po/livechat.uk.po
new file mode 100644
index 00000000..041b551b
--- /dev/null
+++ b/support/documentation/po/livechat.uk.po
@@ -0,0 +1,2077 @@
+# Ukrainian translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.vi.po b/support/documentation/po/livechat.vi.po
new file mode 100644
index 00000000..d5e14060
--- /dev/null
+++ b/support/documentation/po/livechat.vi.po
@@ -0,0 +1,2077 @@
+# Vietnamese translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.zh-Hans.po b/support/documentation/po/livechat.zh-Hans.po
new file mode 100644
index 00000000..86d740fb
--- /dev/null
+++ b/support/documentation/po/livechat.zh-Hans.po
@@ -0,0 +1,2076 @@
+# Language zh-Hans translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: zh-Hans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""
diff --git a/support/documentation/po/livechat.zh-Hant.po b/support/documentation/po/livechat.zh-Hant.po
new file mode 100644
index 00000000..4cd7f30d
--- /dev/null
+++ b/support/documentation/po/livechat.zh-Hant.po
@@ -0,0 +1,2076 @@
+# Language zh-Hant translations for peertube-plugin-livechat-documentation package
+# Copyright (C) 2023 Free Software Foundation, Inc.
+# This file is distributed under the same license as the peertube-plugin-livechat-documentation package.
+# Automatically generated, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
+"POT-Creation-Date: 2023-07-14 18:58+0200\n"
+"PO-Revision-Date: 2023-07-13 11:36+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: zh-Hant\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact the author"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "Contact me"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contact/_index.md
+#, no-wrap
+msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Contributor Covenant Code of Conduct"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid "Code of Conduct"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/codeofconduct/_index.md
+#, no-wrap
+msgid ""
+"This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).\n"
+"Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).\n"
+"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Develop"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem\n"
+"before you start working on it, and inform the community that you begin coding by claiming the issue.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Pull Request must be done on the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prerequisite for building this plugin:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `npm` installed\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have python venv installed (`python3-venv` package on Debian for example)\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "you must have `build-essential` installed\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "To clone the repository:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"# Clone the repository. Dont forget the --recursive to clone submodules.\n"
+"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --recursive\n"
+"\n"
+"# Install NPM dependencies and build the module for the first time:\n"
+"npm install\n"
+"\n"
+"# Build the plugin after a modification:\n"
+"npm run build\n"
+"\n"
+"# If you have a fork from the repository, add it as remote (example):\n"
+"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git\n"
+"\n"
+"# Create a local branch for you developments, and checkout it (example):\n"
+"git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)\n"
+"# To propose your modifications, push your branch to your repository (example):\n"
+"git push --set-upstream me my_development\n"
+"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request.\n"
+"Once you are ready for a code review before merge, submit a Pull Request. In any case, please\n"
+"link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "You can build the plugin with extra debug features simply by using:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "NODE_ENV=dev npm run build\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "ESBuild vs Typescript"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin.\n"
+"ESBuild can handle Typescript, but does not check types\n"
+"(see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)).\n"
+"That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file).\n"
+"Then, if everything is okay, we run ESBuild to generate the compiled javascript.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Debug Mode"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a debug mode for this plugin, that shorten some delay.\n"
+"For example, some log files will rotate every two minutes, instead of once per day.\n"
+"This permit to test more easily certain actions, for which it could normally take hours or days to wait.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To enable this mode, you juste have to create the\n"
+"`/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file\n"
+"(replacing `/var/www/peertube/storage/` by the correct path on your installation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"The simple existence of this file is sufficient to trigger the debug mode.\n"
+"To make sure it's taken into account, you can restart your Peertube instance.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"This file can contain some JSON to enable more advanced options.\n"
+"To have a list of existing parameters, check `server/lib/debug.ts`.\n"
+"Restart Peertube after each content modification.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Don't enable this mode on a production server, neither on a public server.\n"
+"This could cause security issues.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Prosody"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"When debug mode is enabled, you can restart Prosody using this API call:\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+"This call don't need any authentificaiton.\n"
+"It can be done from a command line, for example using\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody debugger"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user.\n"
+"Then, add this in the `debub_mode` file:\n"
+msgstr ""
+
+#. type: Fenced code block (json)
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"{\n"
+" \"debug_prosody\": {\n"
+" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
+" \"host\": \"localhost\",\n"
+" \"port\": \"8172\"\n"
+" }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Restart Peertube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Start your debugger server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"For Prosody to connect to the debugger, call the API\n"
+"`http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"This call does not need any authentication.\n"
+"It can be done from a command line, for example with\n"
+"`curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`.\n"
+"You can even configure your debug server to launch this request automatically.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Prosody will then restart, connecting to the debugger.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "Quick dev environment using Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"There is a tutorial, in french, on the\n"
+"[le Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631)\n"
+"that explains how to quickly build a dev env using Docker.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/develop/_index.md
+#, no-wrap
+msgid ""
+"Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library.\n"
+"There is a dirty hack in the plugin: just create a\n"
+"`/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes,\n"
+"then restart containers.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Document the plugin, or translate the documentation."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/document/_index.md
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Documentation"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "General information"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Always inform the community before working (by creating a new issue, or commenting an existing one).\n"
+"This is to avoid that two persons are working on the same thing, and prevent conflicts.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Documentation work has to be merged in the `main` branch.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The documentation source code is in the `support/documentation/content` folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The documentation is generated using [Hugo](https://gohugo.io/).\n"
+"You have to install it on your computer if you want to preview your work.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"The used theme is [hugo-theme-learn](https://learn.netlify.app/).\n"
+"You should read its documentation before starting editing the documentation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"When a new plugin version is released, or when documentation is updated, plugin maintainers will merge the `main` branch to the `documentation` branch.\n"
+"This will trigger github and gitlab pipelines, and update published documentation.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The principal language is english (`en` code).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "The `support/documentation/content/en` folder contains only english documentation files.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Documentation is translated using Weblate (see the [translation documentation](/peertube-plugin-livechat/contributing/translate/)).\n"
+"To do so, we use the [po4a tool](https://po4a.org/), as we will se later in this page.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Add a new language"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "If the translations are not complete, it does not matter, english will be used for missing strings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Preview"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To preview your modifications, just run:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "hugo serve -s support/documentation/\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Then open your browser on the address [http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).\n"
+"This page will automatically refresh on each modification.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Update localization files and generate documentation translations"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"For now, you only have the english version.\n"
+"To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To do so, make sure you have `po4a` (version >= 0.66) installed on your computer.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Some linux distro (like Debian Bullseye for example) have too old version of `po4a`.\n"
+"Please make sure to install a compatible version.\n"
+"If you are using Debian Bullseye for example, you can download the Bookwork po4a.deb file from https://packages.debian.org, and install it manually.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "To handle translations, just do:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "npm run doc:translate\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Write documentation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit the english files in `support/documentation/content/en`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Then, before commiting, always run `npm run doc:translate`, so that changes in english files can be propagated to the `support/documentation/po/livechat.en.pot` file.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"You can use the `livechat_label` short code to use application strings.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"It is possible to prevent a file from beeing translating, using `livechatnotranslation: true` in the Yaml Font Matter section.\n"
+"See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Please use the `livechatnotranslation` option for technical documentation.\n"
+"We don't want technical documentation to be translated, to avoid issues because of a wrong translation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid ""
+"Avoid adding line breaks in middle of a sentence.\n"
+"But add a line break after each sentence in a paragraph.\n"
+"This is to facilitate the work for translators: so then can easily check that they don't miss a sentence when translating a parapraph.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "What if I can't use hugo and/or po4a?"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publication"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/document/_index.md
+#, no-wrap
+msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid "Give your feedback"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/feedback/_index.md
+#, no-wrap
+msgid ""
+"You don't need to know how to code to start contributing to this plugin!\n"
+"Other contributions are very valuable too, among which: you can test the software and report bugs, you can give feedback, features that you are interested in, user interface, design, ...\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Contributing"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/contributing/_index.md
+#, no-wrap
+msgid "Interested in contributing? Awesome!\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Plugin Credits"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Credits"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "[package.json](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/package.json), [COPYRIGHT](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/COPYRIGHT.md) and [LICENSE](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/LICENSE) files contain the license information for this software and its dependencies.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid ""
+"Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).\n"
+"The character design is under CC-By licence, and the SVG files used to create some logo and avatars in this plugin are GPLv3.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, for the financial support, and for hosting the project translations on their [Weblate instance](https://weblate.framasoft.org).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/credits/_index.md
+#, no-wrap
+msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Some advanced features"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/_index.md
+#, no-wrap
+msgid "Advanced usage"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge to bridge with other chats"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Using Matterbridge"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
+#, no-wrap
+msgid "Here is a tutorial to use Matterbridge with the plugin: \n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Allow connections using XMPP clients"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "XMPP clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat module is based on the XMPP protocol, also known as Jabber.\n"
+"It is therefore possible to connect to the chats using [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can for example be useful to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Enabling these features requires configuration changes on the server, and on the DNS records.\n"
+"It is not possible to configure this only from the Peertube interface, and it requires some basic system some basic system admin skills.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Login to your Peertube account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "This feature is not yet available, and will come in a future version of the plugin.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connection using an external XMPP account"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To enable this feature, you will need to set up your server and DNS records, so that XMPP clients can find and access the\n"
+"[Prosody server](https://prosody.im) that this plugin uses internally.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Plugin settings"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Start by going to the livechat plugin settings of your instance, then enable the setting \"Enable connection to room using external XMPP accounts\".\n"
+"By checking this settings, new settings appear below.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, the \"Prosody server to server port\" field.\n"
+"This one defaults to 5269, which is the standard port for this service.\n"
+"You can however change to another port, if this is already in use on your server.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, the field \"Server to server network interfaces\" field allows you to specify which network interfaces the server should listen on.\n"
+"The default value \"*, ::\" indicates to listen on all IP addresses.\n"
+"You can change these values, if you wish to listen on only certain IP addresses.\n"
+"The syntax is explained next to the setting.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"For the \"Certificate folder\" setting, you can leave it empty.\n"
+"In this case, the plugin will automatically generate self-signed certificates.\n"
+"Some XMPP servers may refuse to connect, depending on their configuration.\n"
+"In this case, you can indicate here a path on the server, in which you must place certificates to be used by the module.\n"
+"It is up to you to generate and renew them.\n"
+"See bellow for more information.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Firewall"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must open the configured port (5269 by default) on your firewall.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are using Docker for your Peertube, you need to modify the `docker-compose.yml` file to open port 5269 of the `peertube` container,\n"
+"so that the outer world can connect to it.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "DNS"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You need to add a [DNS record](https://prosody.im/doc/dns) allowing remote servers to find the \"room.your_instance.tld\" component.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The easiest way to do this is to add an SRV record for the \"room\" [subdomain](https://prosody.im/doc/dns#subdomains):\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "TTL: 3600\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "class: IN\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "SRV: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "priority: 0\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "weight: 5\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "port: 5269 (adapt if your changed the default port)\n"
+msgstr ""
+
+#. type: Bullet: '* '
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "target: your_instance.tld. (replace by your instance uri)\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Be careful to keep the dot after \"your_instance.tld\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using the `dig` command to check your record, you should get a result similar to this:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"$ dig +short _xmpp-server._tcp.room.videos.john-livingston.fr. SRV\n"
+"0 5 5269 videos.john-livingston.fr.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you are **not using the standard `5269` port**, you must also add a SRV record for `_xmpp-server._tcp.your_instance.tld.` (same as above, just without the `room.` prefix).\n"
+"Of course, you can also add this record if you use the standard port. It will also work.\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Using trusted certificates"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is possible to use certificates validated by a certification authority.\n"
+"However, this requires advanced system administration knowledge.\n"
+"Indeed, due to the multitude of possible use cases, it is impossible to document all situations here.\n"
+"This documentation will therefore only explain the goal to be reached, and give an example which will only be suitable for a \"basic\" situation (manual installation of Peertube, using letsencrypt).\n"
+"If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Basic principle"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`.\n"
+"You can use any [method supported by Prosody](https://prosody.im/doc/certificates).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You must then place these certificates in a folder that will be accessible to the `peertube` user, and specify this folder in the plugin setting \"Certificate folder\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If you want to use the ProsodyCtl utility to import certificates, this utility is available (once Peertube is started) using the following command (adapting the path to your Peertube data folder, and replacing \"xxx\" with the arguments you wish to pass to\n"
+"prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the simple case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We assume here that your Peertube installation is \"classic\" (no use of Docker), and that the certificates are generated by letsencrypt, using the certbot tool.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First of all, we'll have to create a certificate for the subdomain `room.your_instance.tld` : this is the uri of the MUC (XMPP chat rooms) component.\n"
+"Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"So start by setting up a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate.\n"
+"We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:\n"
+msgstr ""
+
+#. type: Fenced code block (nginx)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"server {\n"
+" listen 80;\n"
+" listen [::]:80;\n"
+" server_name room.your_instance.tld;\n"
+"\n"
+" location /.well-known/acme-challenge/ {\n"
+" default_type \"text/plain\";\n"
+" root /var/www/certbot;\n"
+" }\n"
+" location / { return 301 https://your_instance.tld; }\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then enable the site:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"ln -s /etc/nginx/sites-available/room.peertube /etc/nginx/sites-enabled/\n"
+"systemc reload nginx\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then we prepare the folder in which we will later import the certificates.\n"
+"We assume here that you already have the plugin active. We will create the following folder (if it doesn't already exist), with the user `peertube` to make sure there are no permissions issues:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "sudo -u peertube mkdir /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/certs\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\".\n"
+"It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"We will configure certbot to import the generated certificates into the Prosody folder.\n"
+"We can use the ProsodyCtl utility packaged in the plugin.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: for it to be available, the plugin must have been started at least once.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"#!/bin/sh\n"
+"/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl \\\n"
+" --root \\\n"
+" --config /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" cert import \\\n"
+" room.your_instance.tld your_instance.tld /etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Then we ask to generate the certificate:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot -d room.videos.john-livingston.fr\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\".\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Normally you should now find the certificates in the configured folder.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube.\n"
+msgstr ""
+
+#. type: Title ####
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Method for the Docker case"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"First, ensure you create a DNS entry for `room.your_instance.tld`, which points to your server.\n"
+"You can use a CNAME entry (or an A entry and a AAAA entry).\n"
+"This is necessary for Let's Encrypt to validate the domain for certificate generation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where your `docker-compose.yml` file exists.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Open a shell in the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker exec -it certbot /bin/sh\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Run certbot:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"How would you like to authenticate with the ACME CA?\n"
+"Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the domain name `room.your_instance.tld`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): room.your_instance.tld\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Input the webroot for : (Enter 'c' to cancel): /var/www/certbot\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "You should see output like the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Successfully received certificate.\n"
+"Certificate is saved at: /etc/letsencrypt/live/room.your_instance.tld/fullchain.pem\n"
+"Key is saved at: /etc/letsencrypt/live/room.your_instance.tld/privkey.pem\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group.\n"
+"*Note*: This will also make the files readable to the group with id 999 on the host system.\n"
+"Check the groups on your system to assess this as a risk before running this command.\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"chown -R root:999 /etc/letsencrypt/live; \\\n"
+"chmod 750 /etc/letsencrypt/live; \\\n"
+"chown -R root:999 /etc/letsencrypt/archive; \\\n"
+"chmod 750 /etc/letsencrypt/archive; \\\n"
+"find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} \\;\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Exit the certbot container:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "exit\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following.\n"
+"This is the same as the above, but to be automatically executed after every certificate renewal.\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid " entrypoint: /bin/sh -c \"trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; chown -R root:999 /etc/letsencrypt/live; chmod 750 /etc/letsencrypt/live; chown -R root:999 /etc/letsencrypt/archive; chmod 750 /etc/letsencrypt/archive; find /etc/letsencrypt/ -name 'privkey*' -exec chmod 0640 {} +; sleep 12h & wait $${!}; done;\"\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container.\n"
+"It should look something like this:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+" volumes:\n"
+" - ./docker-volume/certbot/conf:/etc/letsencrypt\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Restart your services:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "docker-compose down; docker-comopse up -d\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:\n"
+msgstr ""
+
+#. type: Fenced code block (text)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "/etc/letsencrypt/live\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Save the plugin settings and verify Prosody can see the certificates:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid ""
+"docker-compose exec -u peertube \\\n"
+" peertube \\\n"
+" /data/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun \\\n"
+" prosodyctl \\\n"
+" --config /data/plugins/data/peertube-plugin-livechat/prosody/prosody.cfg.lua \\\n"
+" check certs\n"
+msgstr ""
+
+#. type: Title ###
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "Troubleshooting"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
+#, no-wrap
+msgid "If you can't make it work, you can use the diagnostic tool (there is a button on top of the plugin settings page), and take a close look on the «Prosody check» section.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Plugin Peertube Livechat administration"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/admin/_index.md
+#, no-wrap
+msgid "Admin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Plugin Peertube Livechat settings"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This section describes the plugin settings page.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"When pressing the «List rooms» button, all existing chatrooms will be listed.\n"
+"You can then find them and moderated them.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Federation"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat behaviour"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This feature enables a «share chat link» modal. With this modal, you can generate URLs to join the chat.\n"
+"The chat can be customized (readonly mode, use the current theme, ...).\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings allows you to choose who can access this modal.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "The video owner will be able to activate web chats.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"Note: for now this feature simply hide the chat.\n"
+"In a future release, the chat will be replaced by a message saying «please log in to [...]».\n"
+"See [v5.7.0 Release Notes](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md#570) for more information.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Theming"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "You can choose which theme to use for ConverseJS:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Peertube theme: this is a special theme, made especially for peertube's integration.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Default ConverseJS theme: this is the default ConverseJS theme.\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "ConverseJS concord theme: this is a theme provided by ConverseJS.\n"
+msgstr ""
+
+#. type: Title ##
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "Chat server advanced settings"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"The plugin comes with an AppImage that is used to run the [Prosody XMPP server](https://prosody.im).\n"
+"If this AppImage is not working, you can fallback to the Prosody that is packaged for your server. Just install the `prosody` package.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This settings should only be used if the plugin is broken, and waiting for a patch.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This setting enable XMPP clients to connect to the built-in Prosody server.\n"
+"For now, this option **only allows connections from localhost clients**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "As example, this option can allow an instance of Matterbridge (once it could use anonymous login) *on the same machine* to bridge your chat with another services like a Matrix room.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid ""
+"This settings enable XMPP external components to connect to the server.\n"
+"For now, this option **only allows connections from localhost components**.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "This feature could be used to connect bridges or bots.\n"
+msgstr ""
+
+#. type: Plain text
+#: build/documentation/pot_in/documentation/admin/settings.md
+#, no-wrap
+msgid "More informations on Prosody external components [here](https://prosody.im/doc/components).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/_index.md
+#, no-wrap
+msgid "Plugin documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For now, the plugin only works out of the box for x86_64 and arm64 CPU architecture. Here are some instructions for other CPU architectures."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Known issues: CPU Compatibility"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU.\n"
+"It is not compatible with other CPU architectures.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To use the plugin, you will have to manually install Prosody on your server\n"
+"(see below).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"Note: the plugin requires Prosody >= 0.12.0.\n"
+"If you are using an older version, Chat Federation could be broken, and it could have some unexpected behaviour.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "On non-docker Peertube installation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "For example, on Debian/Ubuntu:\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo apt install prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You can then disable the service that starts automatically when you install Prosody (the plugin will launch a Prosody process, there is no need for the service to run).\n"
+"For example, on Debian/Ubuntu (and other Systemd based linux distributions):\n"
+msgstr ""
+
+#. type: Fenced code block (bash)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "sudo systemctl disable prosody && sudo systemctl stop prosody\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Docker"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"You will have to generate a Peertube image that includes Prosody in the same container that Peertube.\n"
+"I know this is not the standard way to do this with Docker, but keep in mind it is a temporary workaround.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"To generate and use such an image, please refer to the Docker documentation.\n"
+"The Docker file to generate the image should be:\n"
+msgstr ""
+
+#. type: Fenced code block (Docker)
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"FROM chocobozzz/peertube:production-bullseye\n"
+"\n"
+"RUN apt -y update && apt install -y prosody && apt -y clean\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "Yunohost"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
+#, no-wrap
+msgid ""
+"But it may be removed in a near feature (to avoid drawbacks of this method).\n"
+"I have to discuss with Yunohost team, to decide how we can do to minimize drawbacks, and maximize compatibility.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat installation guide"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Installation guide"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/CHANGELOG.md).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "To install or update the plugin, **just use the Peertube web admin interface**.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/_index.md
+#, no-wrap
+msgid "Here are some other more specific instructions:\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Important notes when upgrading for an older version."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Upgrade from version older than 6.0.0"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "IMPORTANT NOTE"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "Since version v6.0.0, this plugin does not need any Prosody installation.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
+#, no-wrap
+msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat user documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/_index.md
+#, no-wrap
+msgid "User documentation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Plugin peertube-plugin-livechat moderation"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Moderation"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can access room settings and moderation tools by opening the chat in a new window,\n"
+"and using the dropdown menu at the top right.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms».\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid "Notes"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"All instance moderators and admins will be owner of created chat rooms.\n"
+"If the video is local (not from a remote Peertube), the video owner will be admin in the chat room.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/moderation.md
+#, no-wrap
+msgid ""
+"You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room.\n"
+"When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Documentation to stream the chat content using OBS."
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "OBS Overlay"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "If you are using OBS for streaming, you can easily include the chat in your stream.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «share chat link» feature to generate an URL to your chat.\n"
+"The button should be near the chat if you are the video owner (unless it was desactivated by your server admins).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Check the «readonly» checkbox in the modal.\n"
+"Then use this link as a «web browser source» in OBS.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the «Transparent background» to have a transparent background in OBS.\n"
+"If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:\n"
+msgstr ""
+
+#. type: Fenced code block (css)
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+":root {\n"
+" --livechat-transparent: rgba(255 255 255 / 90%) !important;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"Note: you can customize colors. This is undocumented yet, but you can try this:\n"
+"in the modal, check «use curent theme colors», then you can try to manually change color values in the URL.\n"
+"You must use valid CSS color values, and they must be properly URL encoded.\n"
+msgstr ""
+
+#. type: Title ##
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid "Mixing multiple chats in your live stream"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/obs.md
+#, no-wrap
+msgid ""
+"You can use the [social_stream browser extension](https://github.com/steveseguin/social_stream#readme) to mix multiple chat source (from Peertube, Twitch, Youtube, Facebook, ...) and include their contents in your live stream.\n"
+"The compatibility with this plugin was added in recent versions.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Connect to chat using a XMPP client"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "XMPP Clients"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"This chat plugin relies on the XMPP protocol (also known as Jabber).\n"
+"It is therefore possible to connect to the chats using\n"
+"[XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients).\n"
+"This can be useful for example to facilitate moderation operations.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"The features described on this page must be enabled and configured by\n"
+"your Peertube instance's administrators. You may therefore not have access to them.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"If this feature is enabled on your instance, you can connect to Peertube\n"
+"chats using any XMPP account.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"To get the address of the room you want to join, you can use the \"share chat\"\n"
+"button that is located above the chat:\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"By default, the share button is only visible to the owner of the video,\n"
+"and the admins/moderators of the instance.\n"
+"However, admins can decide to display this button for everyone.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "Then, choose \"Connect using XMPP\":\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid "\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/documentation/user/xmpp_clients.md
+#, no-wrap
+msgid ""
+"Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client\n"
+"(using the \"join a room\" feature).\n"
+msgstr ""
+
+#. type: Title #
+#: support/documentation/content/en/_index.md
+#, no-wrap
+msgid "PeerTube plugin livechat"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/_index.md
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"You can use the language selector in the left menu to view this documentation in different languages.\n"
+"Some translations are missing or incomplete. In this case, you'll see the English version of the text.\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "Introduction"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid ""
+"| | |\n"
+"|---|---|\n"
+"|  |  |\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/intro/_index.md
+#, no-wrap
+msgid "See a [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae).\n"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: description
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking / New features requests"
+msgstr ""
+
+#. type: Yaml Front Matter Hash Value: title
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "Bug tracking & new features"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). If possible, try using english or french.\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "To have a glimpse to the roadmap for upcoming features, please refer to:\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1).\n"
+msgstr ""
+
+#. type: Bullet: '- '
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones).\n"
+msgstr ""
+
+#. type: Plain text
+#: support/documentation/content/en/issues/_index.md
+#, no-wrap
+msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome.\n"
+msgstr ""