peertube-plugin-livechat/support/documentation/po/livechat.en.pot
John Livingston 9c200a4e46
Moderation delay (#132):
* displaying the remaining time for moderators.
2024-07-10 16:54:54 +02:00

5006 lines
195 KiB
Plaintext

# 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 <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
"POT-Creation-Date: 2024-07-10 16:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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
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)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contact/_index.md
#, markdown-text
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/)."
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
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). 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."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text, no-wrap
msgid "Develop"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Pull Request must be done on the `main` branch."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text, no-wrap
msgid "Prerequisite for building this plugin"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "It is highly recommended to be familiar with following concepts:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Git"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "NodeJS"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "NPM"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Typescript"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "To build the plugin, you must have following packages:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`git`"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`npm` (>=8.x)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`nodejs` (>=14.x)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`build-essential`"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`coreutils`"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`wget`"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "`reuse`"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Please note that this plugin needs an AppImage for the Prosody XMPP server. This AppImage is provided by the [Prosody AppImage](https://github.com/JohnXLivingston/prosody-appimage) sideproject. The `build-prosody.sh` script download binaries attached to this remote repository, and checks that their sha256 hashsum are correct."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Clone the repository, buid the plugin, and create your feature branch:"
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"
"cd peertube-plugin-livechat\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
msgid "Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request. Once you are ready for a code review before merge, submit a Pull Request. In any case, please link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\"."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "You can build the plugin with extra debug features simply by using:"
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: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "This plugin is [REUSE](https://reuse.software/) compliant: it uses SPDX headers to identify licensing information of its source code. More information on the [REUSE](https://reuse.software/) website. You can use the [reuse](https://reuse.readthedocs.io/en/stable/readme.html#) command line tool to help you update headers. The `npm run lint` command will use the `reuse` command to check compliance. Don't forget to add your copyright information in SPDX headers when you modify some code."
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
msgid "This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin. ESBuild can handle Typescript, but does not check types (see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)). That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file). Then, if everything is okay, we run ESBuild to generate the compiled javascript."
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
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "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)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Don't enable this mode on a production server, neither on a public server. This could cause security issues."
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
msgid "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`."
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
msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "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:"
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
msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Restart Peertube."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Start your debugger server."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Prosody will then restart, connecting to the debugger."
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
msgid "There is a tutorial, in french, on the [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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library. There is a dirty hack in the plugin: just create a `/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes, then restart containers."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text, no-wrap
msgid "Quickly rebuild and install the plugin"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "When you do modification, you don't have to always rebuild the full project, and reinstall the plugin on your dev environment. You can build only the modified part (for example, if you only modified client files: `npm run build:client`). Check the `package.json` files for available build scripts."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "When the plugin is already installed on your dev instance, and you haven't changed any dependency, you can quickly install your work by following these steps:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "re-build necessary parts of the plugin (client, styles, ...),"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "overwrite the `data/plugins/node_modules/peertube-plugin-livechat/dist/` content of your dev instance by the content of the plugin's `dist` folder,"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "change recursively `plugins/node_modules/peertube-plugin-livechat/dist/` files owner to your `peertube` user,"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "restart your instance."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text, no-wrap
msgid "Performance tests"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
#, markdown-text
msgid "The [livechat-perf-test](https://github.com/JohnXLivingston/livechat-perf-test) repository contains some tools to make performance tests. It can be used to evaluate code improvements, or find bottlenecks."
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
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "Documentation work has to be merged in the `main` branch."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "The documentation source code is in the `support/documentation/content` folder."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "The documentation is generated using [Hugo](https://gohugo.io/). You have to install it on your computer if you want to preview your work."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "The used theme is [hugo-theme-learn](https://learn.netlify.app/). You should read its documentation before starting editing the documentation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "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."
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
msgid "The principal language is english (`en` code)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "The `support/documentation/content/en` folder contains only english documentation files."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "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."
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
msgid "In the `support/documentation/config.toml` file, please copy and modify the `[Languages.fr]` section."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "If the translations are not complete, it does not matter, english will be used for missing strings."
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
msgid "To preview your modifications, just run:"
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
msgid "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."
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
msgid "For now, you only have the english version. To update documentation strings, and generate translations, you have to run the `doc-translate.sh` script."
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.69) installed on your computer.\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "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 Bookworm po4a.deb file from [https://packages.debian.org](https://packages.debian.org/bookworm/all/po4a/download), and install it manually."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "To handle translations, just do:"
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
msgid "You can then preview the result using `hugo serve -s support/documentation/`, and using the language selector."
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
msgid "Just edit the english files in `support/documentation/content/en`."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "You can use the `livechat_label` short code to use application strings. See here: [Documentation translation](/peertube-plugin-livechat/contributing/translate/#documentation-translation)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "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)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "To facilitate translators work, avoid making too long paragraphs."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "For now, it is not possible to use Markdown tables: the translation tools will break them."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/document/_index.md
#, markdown-text
msgid "There may be links to documentation elsewhere on the web. Try not to change the urls of the documentation pages. Or at the very least, put links to the new location on the previous url."
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
msgid "Just edit english markdown files, and specify that you can't build translations when you make your Pull Request."
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
msgid "Publishing the documentation is automatic, as soon as the changes are merged into the `documentation` branch."
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
msgid "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, ..."
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
msgid "Interested in contributing? Awesome!"
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/contributing/translate/_index.md
#, no-wrap
msgid "Translate the plugin"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/contributing/translate/_index.md
#, no-wrap
msgid "Translate"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "You can contribute to this plugin translation. Translations are handled using the [Weblate](https://weblate.org/) software, using [Framasoft Weblate instance](https://weblate.framasoft.org/)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Never modify directly files in the `languages` folder, this could lead to conflicts."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "How to"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Create an account: https://weblate.framasoft.org/accounts/register/"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Validate your email and follow the link sent"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Create your password and setup your account"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Go to the plugin project page: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Choose the locale you want to translate"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Just translate missing sentences, or correct the ones that seems incorrect to you."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "There might be some «very technical» strings. If you are not 100% sure of the meaning, or of your translation, you better not translate it, so it will display in english."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "ConverseJS translations"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "This plugin relies on [ConverseJS](https://conversejs.org/) for the chat front-end. ConverseJS has its own translations, on its own [weblate instance](https://hosted.weblate.org/projects/conversejs/#languages). You can also translate directly in the code repository. For more information, check [ConverseJS translations documentation](https://conversejs.org/docs/html/translations.html)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "Adding a new locale"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "If you think there is a missing locale, please check first if it is handled in Peertube. If so, you can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) to ask for it."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "Adding new strings / use translations in the code"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "If you are working on new features, and need new strings, you can create them directly in Weblate. The english version is mandatory. Start with it."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Each string is linked to a key (for example `use_chat`). Choose an explicit key in english, lower case."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "If you have to test new strings without waiting for a Weblate merge, you can modify `languages/*.yml` files, but avoid to commit these changes (to minimize conflict risks)."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "Use translations in front-end code"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Before using a string in front-end, you need to declare a new constant in `client/@types/global.d.ts`. The constant name must:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "start with the prefix \"LOC_\""
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "use the string key, upper cased"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "you just have to declare its type, not its value"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "For example, to use \"use_chat\", you have to declare:"
msgstr ""
#. type: Fenced code block (typescript)
#: support/documentation/content/en/contributing/translate/_index.md
#, no-wrap
msgid "declare const LOC_USE_CHAT: string\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "The `build-client.js` script will read the `client/@types/global.d.ts`, search for such constants, and load their values from the languages files."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Now, you can simply call `peertubeHelpers.translate(LOC_USE_CHAT)` in your code."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "Use translations in back-end code"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "In theory, the only parts of the backend code where you need localization is the settings declaration and standardized data (ActivityPub, RSS, ...). Here we need to get english strings from the translation key."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Note: you should never need another language translation from backend code. Localization must be done on front-end."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "There is a `lib/loc.ts` module providing a `loc()` function. Just pass it the key to have the english string: `loc('diagnostic')`'."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "Documentation translation"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "The documentation translation is done using the corresponding Weblate component."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "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:"
msgstr ""
#. type: Fenced code block (hugo)
#: support/documentation/content/en/contributing/translate/_index.md
#, no-wrap
msgid "{{%/* livechat_label open_chat_new_window */%}}\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "You can also prevent a whole page from being translating by adding `livechatnotranslation: true` in the Yaml Font Matter section:"
msgstr ""
#. type: Fenced code block (yaml)
#: support/documentation/content/en/contributing/translate/_index.md
#, no-wrap
msgid ""
" ---\n"
" title: \"Third party\"\n"
" description: \"Displaying the livechat with 3rd party software.\"\n"
" weight: 20\n"
" chapter: false\n"
" livechatnotranslation: true\n"
" ---\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Never translate a string in the `livechat.en.pot` file, it would be ignored. Instead, edit directly the markdown files."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Some strings are block of code. Don't translate code. But you can translate comments, or parameters if relevant."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "If you are not sure, just don't translate, and ask what to do."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "The tool I use to handle translations for the documentation can have strange behaviours. When I add sentences that looks like other existing sentences, it sometimes copies existing translations. So, when you have translations marked as \"to check\", please make sure it doesn't copy a string that has nothing to do with the english one before validating."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "If you are now sure about the context of a string, you can check the string location in the weblate's right pane, and open the corresponding documentation page. For example, for a string located in the file `support/documentation/content/en/documentation/user/streamers.md`, the corresponding url is `https://livingston.frama.io/peertube-plugin-livechat/documentation/user/streamers/`."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text, no-wrap
msgid "Generic recommandations"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/contributing/translate/_index.md
#, markdown-text
msgid "Please be inclusive in your wordings, and please respect the [code of coduct](/peertube-plugin-livechat/contributing/codeofconduct/)."
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
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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "The plugin is maintained by [John Livingston](https://www.john-livingston.fr/)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube). 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. PNG files are under CC-By licences, and comes from the [online Sepia Avatar Generator](https://www.peppercarrot.com/extras/html/2023_peertube-generator/)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
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)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "Thanks to [ritimo](https://www.ritimo.org/) for the financial support."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "Thanks to [Code Lutin](https://www.codelutin.com/) and [Rétribution Copie Publique](https://copiepublique.fr/) for the financial support."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "Thanks to [NlNet](https://nlnet.nl/) and the [NGI0 Entrust fund](https://nlnet.nl/entrust/) for the financial support."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "Thanks to [Octopuce](https://www.octopuce.fr/) for the financial support."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/credits/_index.md
#, markdown-text
msgid "And thanks to all individual contributors who have made a donation via my [liberapay page](https://liberapay.com/JohnLivingston/)."
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
msgid "The following is based on a tutorial to use Matterbridge with the plugin: [Matterbridge + Peertube](https://gitlab.com/refrac/obs-matterbridge-overlay/-/blob/master/documentation/peertube.md)"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text, no-wrap
msgid "Requirements"
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "[PeerTube plugin livechat](https://github.com/JohnXLivingston/peertube-plugin-livechat) version 3.2.0 or later."
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "[Matterbridge](https://github.com/42wim/matterbridge) version 1.22.4 or later."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "The easiest is if the PeerTube instance and Matterbridge run on the same server."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text, no-wrap
msgid "Internal connections only (basic)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "You will need to enable `{{% livechat_label prosody_c2s_label %}}` in the livechat plugin settings."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "This will allow localhost XMPP clients to connect to the Prosody XMPP server."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "You may need to add some line to your `/etc/hosts`:"
msgstr ""
#. type: Fenced code block
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, no-wrap
msgid "127.0.0.1 anon.example.org room.example.org\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "Replace `example.org` by your actual instance domain name. Afterwards you can continue with the Matterbridge configuration below."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text, no-wrap
msgid "Allow external connections (advanced)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "By default, the internal Prosody XMPP server only listens on localhost (127.0.0.1)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text, no-wrap
msgid "On livechat versions >= 10.1.0 a new option call `Client to server network interfaces` was added to allow changing this.\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "It allows to add a list of IPs to listen on, coma separated (spaces will be stripped)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "You can also use `*` to listen on all IPv4 interfaces, and `::` for all IPv6. Doing so allows external access to the client to server interface."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "Then you need to open the C2S port (by default `52822`, but check the plugin settings to get the current value) in your firewall so that it can be reached from the internet. If you don't want to use C2S connections for anything else than your Matterbridge service, you should restrict access to this port to your Matterbridge server IP."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "You also need to add DNS records (A and AAAA) for `anon.example.org` and `room.example.org` (replace `example.org` by your actual domain name)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "In case you are using a port other than `5222` (XMPP standard port) you also need to set the [xmpp-client SRV record](https://prosody.im/doc/dns#srv_records) to the correct port."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text, no-wrap
msgid "Configurating Matterbridge"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "In the version 1.22.4, Matterbridge added support for XMPP anonymous connections needed to connect to the built-in prosody."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "So in the TOML config file put:"
msgstr ""
#. type: Fenced code block (TOML)
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, no-wrap
msgid ""
"[xmpp.mypeertube]\n"
"Anonymous=true\n"
"Server=\"anon.example.org:52822\"\n"
"Muc=\"room.example.org\"\n"
"Nick=\"Matterbridge\"\n"
"RemoteNickFormat=\"[{PROTOCOL}] <{NICK}> \"\n"
"NoTLS=true\n"
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "Replace `example.org` by your actual instance domain name."
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "Replace `52822` by the actual port if you changed it."
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "`mypeertube` can be replaced by another name."
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "Using `peertube` as the Nick will provide put PeerTube icon for overlay messages, can be also done with overlay config modification."
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "The setting `NoTLS=true` allows connecting to a server with self-signed certificates."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "Now you can add this account to gateways and bridge specific live-chat channels."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/matterbridge.md
#, markdown-text
msgid "This documentation use an anonymous account to connect the bridge to the chat. But since the livechat v10.1.0, there is a new way to generate long term authentication token, that allows to connect using your account. This is used for [OBS docks](/peertube-plugin-livechat/documentation/user/obs). Using this feature for other purposes is not documented and not officially supported yet. If you want to use it anyway, you can request a token by calling then `/plugins/livechat/router/api/auth/tokens` endpoint. To get needed headers and request body, just check what happens when you generate a new token for OBS docks."
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
msgid "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). This can for example be useful to facilitate moderation operations."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "For the user documentation associated with these features, please refer to the [user documentation page](/peertube-plugin-livechat/documentation/user/xmpp_clients/)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "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."
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
msgid "This feature is not yet available, and will come in a future version of the plugin."
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
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 [Prosody server](https://prosody.im) that this plugin uses internally."
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
msgid "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 setting, new settings appear below."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "For the \"Certificate folder\" setting, you can leave it empty. 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. It is up to you to generate and renew them. See bellow for more information."
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
msgid "You must open the configured port (5269 by default) on your firewall."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
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, so that the outer world can connect to it."
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
msgid "You need to add [DNS records](https://prosody.im/doc/dns) allowing remote servers to find \"room.your_instance.tld\" and \"external.your_instance.tld\" components."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "The easiest way to do this is to add SRV records for the \"room\" and \"external\" [subdomain](https://prosody.im/doc/dns#subdomains):"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "record name: _xmpp-server._tcp.room.your_instance.tld. (replace «your_instance.tld» by your instance uri)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "TTL: 3600"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "class: IN"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "SRV: 0"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "priority: 0"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "weight: 5"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "port: 5269 (adapt if your changed the default port)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "target: your_instance.tld. (replace by your instance uri)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "record name: _xmpp-server._tcp.external.your_instance.tld. (replace «your_instance.tld» by your instance uri)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Be careful to keep the dot after \"your_instance.tld\"."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Using the `dig` command to check your records, you should get a result similar to this:"
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"
"\n"
"$ dig +short _xmpp-server._tcp.external.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
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). Of course, you can also add this record if you use the standard port. It will also work."
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
msgid "The self-signed certificates that this plugin uses by default can be rejected by some XMPP servers, for security reasons."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "It is possible to use certificates validated by a certification authority. However, this requires advanced system administration knowledge. Indeed, due to the multitude of possible use cases, it is impossible to document all situations here. 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). If you are in another situation (Docker installation, certificates signed by another authority, etc...), you will have to adapt this approach by yourself."
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
msgid "It is up to you to generate valid certificates for domains `your_instance.tld` and `room.your_instance.tld`. You can use any [method supported by Prosody](https://prosody.im/doc/certificates)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
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\"."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
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 prosodyctl): `sudo -u peertube /var/www/peertube/storage/plugins/data/peertube-plugin-livechat/prosodyAppImage/squashfs-root/AppRun prosodyctl xxx`"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "The plugin will check once a day to see if any files have been modified in this folder, and reload Prosody if necessary."
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
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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
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. Even if the connections are made on `your_instance.tld`, we will need a valid certificate for this subdomain."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "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)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Next, we'll use nginx (already installed for your Peertube) to generate the certbot certificate. We will create a new site. In the file `/etc/nginx/site-available/room.peertube`, add:"
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
msgid "Then enable the site:"
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
msgid "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:"
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
msgid "Now you have to configure this folder in the plugin settings, for the parameter \"Certificate folders\". It's important to do this now, otherwise the certificate import script will put the certificates in the wrong folder."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "We will configure certbot to import the generated certificates into the Prosody folder. We can use the ProsodyCtl utility packaged in the plugin."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Note: for it to be available, the plugin must have been started at least once."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "We will create a file `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh` containing:"
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
msgid "Then we ask to generate the certificate:"
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
msgid "If certbot offers you several methods to generate the certificate, choose \"nginx\"."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Normally you should now find the certificates in the configured folder."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Note: the first time you do this, you will have to reload Prosody. The easiest way to do this is to restart Peertube."
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
msgid "This method works with the officially supported [Docker guide](https://docs.joinpeertube.org/install/docker) from PeerTube."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "First, ensure you create 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). This is necessary for Let's Encrypt to validate the domain for certificate generation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Enter the directory where your `docker-compose.yml` file exists."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "Open a shell in the certbot container:"
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
msgid "Run certbot:"
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
msgid "You will be presented with a series of prompts. Enter `2` for the authentication type:"
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
msgid "Enter the domain name `room.your_instance.tld`:"
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
msgid "Enter the directory where the PeerTube webserver serves requests for Let's Encrypt, `/var/www/certbot`:"
msgstr ""
#. type: Fenced code block (text)
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, no-wrap
msgid "Input the webroot for <room.your_instance.tld>: (Enter 'c' to cancel): /var/www/certbot\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
msgid "You should see output like the following:"
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
msgid "Run the below command inside the certbot container to give read access to the new certs and private keys to the peertube group. *Note*: This will also make the files readable to the group with id 999 on the host system. Check the groups on your system to assess this as a risk before running this command."
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
msgid "Exit the certbot container:"
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
msgid "Modify your `docker-compose.yml` file, changing the `entrypoint` line under the `certbot` service to the following. This is the same as the above, but to be automatically executed after every certificate renewal."
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
msgid "Continuing to modify `docker-compose.yml`, add the certbot certificate volume into the peertube container. It should look something like this:"
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
msgid "Restart your services:"
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
msgid "In the livechat plugin settings from your PeerTube administration settings, set the certificate directory to the following:"
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
msgid "Save the plugin settings and verify Prosody can see the certificates:"
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: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#: build/documentation/pot_in/documentation/admin/external_auth.md
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "Troubleshooting"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/admin/advanced/xmpp_clients.md
#, markdown-text
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."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, no-wrap
msgid "Plugin Peertube Livechat settings - External Authentication"
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/admin/external_auth.md
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text, no-wrap
msgid "External Authentication"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Users that are not connected to your Peertube instance are joining the chat using \"anonymous accounts\" (they can freely choose a nickname, and will be assigned a random avatar)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "You can enable some external authentication methods to allow user to create chat accounts. In such case their nickname and avatar will be automatically initialized with the remote account information."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Such \"external account users\" will be easier to moderate than anonymous accounts."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "This also allows user to join the chat without creating Peertube account (in case your instance has closed registration for example, or without waiting for account approval)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![External login button](/peertube-plugin-livechat/images/external_login_button.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![External login dialog - OpenID Connect](/peertube-plugin-livechat/images/external_login_dialog_oidc.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "This page will describe available authentication methods."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "For the user documentation, see [user documentation](/peertube-plugin-livechat/documentation/user/viewers/)"
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text, no-wrap
msgid "OpenID Connect"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text, no-wrap
msgid ""
"This feature is still experimental.\n"
"This feature is available with the plugin version >= 9.0.0.\n"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "You can configure one external [OpenID Connect](https://openid.net/developers/how-connect-works/) compatible provider."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Doing so, you can for example use your website for Single Sign-On."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Popular CMS softwares (Wordpess, ...) offers plugins implementing OpenID Connect."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "To enable this feature, first you have to create a client on your provider side (check the related documentation for enabling OpenID Connect). Then go to the [plugin settings](/peertube-plugin-livechat/documentation/admin/settings), and enable \"{{% livechat_label external_auth_custom_oidc_label %}}\"."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Note: if you want to restrict allowed redirection urls on the provider side (best security practice), the plugin will show you the url to allow. Just copy it in your OpenID Connect application configuration."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "You will now have to fill some settings."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "This is the button label in the following screenshot:"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "For now, it is not possible to localize this label."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Your OpenID Connect provider must implement the [discovery URL](https://openid.net/specs/openid-connect-discovery-1_0.html). Just set here the discovery url, that should be something like `https://example.com/.well-known/openid-configuration`."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Note: if your provider use the standard `/.well-known/openid-configuration` path, you can omit it. For example `https://accounts.google.com` will work."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Your application Client ID."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "You application Client secret."
msgstr ""
#. type: Title ###
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text, no-wrap
msgid "Google, Facebook, ..."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "In addition to that, you can also configure one or several \"standard\" Open ID Connect provider (Google, Facebook, ...)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "For these providers, discovery url and button label are preset. You just have to create an OAuth2 application on the provider side, and configure Client ID and Client Secret."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "If you think of a standard provider that is not available, you can ask for implementation by [opening a new issue](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "If the button does not appear for end users, there might be a configuration issue. You can try the [diagnostic tool](/peertube-plugin-livechat/documentation/installation/troubleshooting/) to get more information."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Note: if you are connected to your Peertube account, the button will never show. So use a private browser window to test."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "If the button is displayed but is not working, check your Peertube logs. It could be because the remote service does not use standard scopes or attribute names."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text, no-wrap
msgid "More to come"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/external_auth.md
#, markdown-text
msgid "Other authentication methods will be implemented in the future."
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
msgid "This section describes the plugin settings page."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "For more information on this feature, check the documentation for [channel's terms & conditions](/peertube-plugin-livechat/documentation/user/streamers/terms)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "Changing this setting will restart the chat server, and all users will be disconnected for a short time."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "When pressing the «List rooms» button, all existing chatrooms will be listed. You can then find them and moderated them."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/admin/settings.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Federation"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "Following settings concern the federation with other Peertube instances, and other fediverse softwares."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text, no-wrap
msgid "Authentication"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "In case you have any trouble with the long term authentication tokens, you can disable the feature here."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "See the detailed documentation page:"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "[External Authentication](/peertube-plugin-livechat/documentation/admin/external_auth/)"
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text, no-wrap
msgid "Channel advanced configuration"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "Following settings concern the advanced channel options: users will be able to add some customization on their channels, activate the moderation bot, ..."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "If you encounter any issue with this feature, you can disable it."
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
msgid "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, ...)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "You can for example generate a readonly URL and use it in OBS to integrate the chat in your live stream!"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "This setting allows you to choose who can access this modal."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "The video owner will be able to activate web chats."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text, no-wrap
msgid ""
"**Important note**:\n"
"If you enable this feature, and are using a custom reverse proxy on front of Peertube, please make sure that your setup is correctly configured to forward real user's IPs to Peertube.\n"
"Otherwise it could block all anonymous users at once.\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
msgid "You can choose from several different sets the default avatars that will be used for chat users."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "{{% livechat_label avatar_set_option_sepia %}}: [David Revoy's Peertube avatar generator](https://www.peppercarrot.com/extras/html/2023_peertube-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "![Sepia](/peertube-plugin-livechat/images/avatar_sepia.png?classes=shadow,border&height=40px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "{{% livechat_label avatar_set_option_cat %}}: [David Revoy's cat avatar generator](https://www.peppercarrot.com/extras/html/2016_cat-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "![Cats](/peertube-plugin-livechat/images/avatar_cat.png?classes=shadow,border&height=40px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "{{% livechat_label avatar_set_option_bird %}}: [David Revoy's bird avatar generator](https://www.peppercarrot.com/extras/html/2019_bird-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "![Birds](/peertube-plugin-livechat/images/avatar_bird.png?classes=shadow,border&height=40px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "{{% livechat_label avatar_set_option_fenec %}}: [David Revoy's fenec/mobilizon avatar generator](https://www.peppercarrot.com/extras/html/2020_mobilizon-generator/), [CC-By](https://creativecommons.org/licenses/by/4.0/) license"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "![Fenecs](/peertube-plugin-livechat/images/avatar_fenec.png?classes=shadow,border&height=40px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "{{% livechat_label avatar_set_option_abstract %}}: [David Revoy's Abstract avatar generator](https://www.peppercarrot.com/extras/html/2017_abstract-generator/index.php), [CC-By](https://creativecommons.org/licenses/by/4.0/) license"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "![Abstracts](/peertube-plugin-livechat/images/avatar_abstract.png?classes=shadow,border&height=40px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "{{% livechat_label avatar_set_option_legacy %}}: Based on [David Revoy' work](https://www.davidrevoy.com), [AGPL-v3](https://www.gnu.org/licenses/agpl-3.0.en.html) license"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "![Legacy](/peertube-plugin-livechat/images/avatar_legacy.jpg?classes=shadow,border&height=40px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "If you can't see the change immediatly, it could be because of your browser cache. Just clear your browser session storage, or restart it."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "You can choose which theme to use for ConverseJS:"
msgstr ""
#. type: Bullet: '- '
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "Peertube theme: this is a special theme, made especially for peertube's integration."
msgstr ""
#. type: Bullet: '- '
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "Default ConverseJS theme: this is the default ConverseJS theme."
msgstr ""
#. type: Bullet: '- '
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "ConverseJS concord theme: this is a theme provided by ConverseJS."
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
msgid "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."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "This setting should only be used if the plugin is broken, and waiting for a patch."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text, no-wrap
msgid "If this setting is left empty, and you are using Peertube >= 5.1 or later, the plugin will use values from your Peertube configuration file to guess on which interface and port request have to be done.\n"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "In last resort, it will use your Peertube public URI. So, any API Call will go throught your Nginx server. This could fail in some case: for example if you are in a Docker container, where the public hostname does not resolve to the correct IP. In such case, try changing the \"{{% livechat_label prosody_peertube_uri_label %}}\" settings, by setting `http://127.0.0.1:9000` (assuming 9000 is the port on which Peertube listen, ask your instance administrators if you don't know)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "This setting enable XMPP clients to connect to the built-in Prosody server. For now, this option **only allows connections from localhost clients**."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
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."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "This setting enable XMPP external components to connect to the server. By default, this option **only allows connections from localhost components**. You have to change the \"{{% livechat_label prosody_components_interfaces_label %}}\" value to listen on other network interfaces."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "This feature could be used to connect bridges or bots."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/admin/settings.md
#, markdown-text
msgid "More informations on Prosody external components [here](https://prosody.im/doc/components)."
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
msgid "The Prosody AppImage included in the plugin will only work on x86_64 and arm64 CPU. It is not compatible with other CPU architectures."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
#, markdown-text
msgid "To use the plugin, you will have to manually install Prosody on your server (see below)."
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
msgid "Once it is done, you have to check `Use system Prosody` in the plugin settings."
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
msgid "For standard installation, you just have to install the official `prosody` package for your linux distribution."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
#, markdown-text
msgid "For example, on Debian/Ubuntu:"
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
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). For example, on Debian/Ubuntu (and other Systemd based linux distributions):"
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
msgid "Warning: do not disable Prosody if it is used for another service on your server, like for example Jitsi."
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
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
#, markdown-text
msgid "To generate and use such an image, please refer to the Docker documentation. The Docker file to generate the image should be:"
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
msgid "You have to disable `metronome` (the XMPP server provided by Yunohost), and install `prosody`."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
#, markdown-text
msgid "This is already done by the Yunohost Peertube application, as it was required for the plugin before the v6.0.0."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/cpu_compatibility.md
#, markdown-text
msgid "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."
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
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)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/_index.md
#, markdown-text
msgid "To install or update the plugin, **just use the Peertube web admin interface**."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/_index.md
#, markdown-text
msgid "Here are some other more specific instructions:"
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, no-wrap
msgid "Some classic mistakes and workarounds."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "I just installed/upgraded the plugin, but nothing happens"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "If you have just installed/upgraded the plugin, but nothing happens (no chat, no settings, buttons in the settings page does not work, ...), just try to reload the page."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "Diagnostic tool"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "If the chat does not work, there is a diagnostic tool in the plugin's settings pages."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "Open the plugin settings, and click on the \"launch diagnostic\" button."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "![Launch diagnostic](/peertube-plugin-livechat/images/launch_diagnostic.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "If there is any error in the diagnostic page, you can search in this page for a solution, or refer to the [Bug tracking documentation page](/peertube-plugin-livechat/issues/) if you can't find any response."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "![Diagnostic result](/peertube-plugin-livechat/images/diagnostic.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "Chat does not load"
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "Internal API calls"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "In some case (like for some Docker Peertube installation), the diagnostic tools displays an error for the test called \"API Prosody -> Peertube is KO\".\n"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "In such case, try changing the \"{{% livechat_label prosody_peertube_uri_label %}}\" settings, by setting `http://127.0.0.1:9000` (assuming 9000 is the port on which Peertube listen, ask your instance administrators if you don't know)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "Check the help for [this setting](/peertube-plugin-livechat/documentation/admin/settings/) for more information."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text, no-wrap
msgid "Websocket"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "If everything is fine in the diagnostic tools, but chat windows remains empty: it can be a Websocket issue. Since Peertube version 5.0.0, there are some additional configuration to do on the server side. Check with the instance administrators that they did not forgot to apply changes listed in the [Peertube v5.0.0 release notes](https://github.com/Chocobozzz/PeerTube/blob/master/CHANGELOG.md#v500)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "You can confirm that it is a Websocket issue by opening your browser console, and checking for error logs talking about failed Websocket connection."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/troubleshooting.md
#, markdown-text
msgid "If you can't fix this immediatly, you can disable Websocket by unchecking \"{{% livechat_label disable_websocket_label %}}\" in the plugin setting page. In such case, you should also check \"{{% livechat_label federation_dont_publish_remotely_label %}}\", as chat federation won't work without Websocket."
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
msgid "Since version v6.0.0, this plugin does not need any Prosody installation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
#, markdown-text
msgid "If you were using this plugin before this version, and if you had installed Prosody manually, you can safely uninstall Prosody."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/installation/upgrade_before_6.0.0.md
#, markdown-text
msgid "If you were using the custom Peertube docker image that is embedding Prosody, you can switch back to the official Peertube image."
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/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: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "[OBS](https://obsproject.com) is a popular Free And Open Source streaming software, with advanced capacities for your live streams. In the current page, you will find some advices to handle your live chats using 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
msgid "You can easily include the chat in your video stream."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "![Embeding the chat in a live stream](/peertube-plugin-livechat/images/embed_chat_in_livestream.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "You can use the \"{{% livechat_label share_chat_link %}}\" feature to generate an URL to your chat. This button should be near the chat if you are the video owner (unless it was desactivated by your server admins)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Check the \"{{% livechat_label read_only %}}\" checkbox in the modal."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![Share link popup](/peertube-plugin-livechat/images/share_readonly.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Then use this link as a \"web browser source\" in OBS."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "![Embeding the chat in OBS](/peertube-plugin-livechat/images/embed_chat_in_obs.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "You can use the \"{{% livechat_label transparent_background %}}\" option to have a transparent background in OBS. If you want to customize the background transparency, you can add this CSS in your OBS browser source's settings:"
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
msgid "In the previous CSS snippet, you can of course change the color or the transparency, by adapting the color values."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Note: you can entirely customize chat colors. This is undocumented yet, but you can try this: in the modal, check «use curent theme colors», then you can try to manually change color values in the URL. You must use valid CSS color values, and they must be properly URL encoded."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text, no-wrap
msgid "OBS Dock"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 10.1.0."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "This feature can be disabled by the instance's adminitrators."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "You can use OBS \"Custom browser docks\" to integrate the chat in your OBS while you are streaming. The livechat plugin offers a way to create long term token that can identify you automatically to join the chat, so you don't have to enter your password in OBS."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "To do so, just use the \"{{% livechat_label share_chat_link %}}\" feature, and open the \"{{% livechat_label share_chat_dock %}}\" tab. From there, you can create a new token using the \"+\" button."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![Share link popup - dock tab](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Then, copy the url, and use the \"Docks / Custom browser docks\" menu from your OBS to add a dock with this URL."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "![OBS - Dock menu](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "![OBS - Dock dialog](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Once you have done, you will have a new dock connected to the chat with your account."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "![OBS - Dock](/peertube-plugin-livechat/images/obs_dock.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Tokens are valid to join any chat room. You don't have to generate separate tokens for each of your rooms. You can also customize the nickame that will be used by changing the `n` parameter in the url."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "Don't share these links to anyone, as it would allow them to connect as yourself."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "If a token is compromised, or no more needed, you can revoke them."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/obs.md
#, markdown-text
msgid "These tokens can be used for other purposes, as connecting to your account with XMPP bots or clients. This feature is not documented yet, and not officially supported. So use with care."
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
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. The compatibility with this plugin was added in recent versions."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, no-wrap
msgid "Some basics about how to setup and use the chat for your live stream"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, no-wrap
msgid "Some basics"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text, no-wrap
msgid "Enabling the chat for you live streams"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "Instance administrators can choose to disable or enable chat in specific cases. Information in this section are only true in the default case."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "When you create or modify a Peertube live, there is a \"plugin settings\" tab:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![New live](/peertube-plugin-livechat/images/new_live.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "In the \"plugin settings\" tab, there is a \"{{% livechat_label use_chat %}}\" checkbox. Just check or uncheck it to enable or disable the chat associated to your video."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![Activate the chat](/peertube-plugin-livechat/images/new_live_activate_chat.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "There can be other settings in this tab, depending on plugins installed on your Peertube instance."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text, no-wrap
msgid "Per channel chat"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "On the instance level, Peertube's administrators can choose if chat rooms are unique per video, or if there will be an unique chat room per channel. Please contact your instance's administrators for more information on how they configure the livechat plugin."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text, no-wrap
msgid "Share the chat"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "On top of the chat, there is a \"{{% livechat_label share_chat_link %}}\" button."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "This button opens a popup, where you can obtain an url to join the chat. This url can be shared."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "The \"{{% livechat_label share_chat_embed %}}\" tab provide some links to embed the chat in websites, or in your live stream."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "You can customize some options:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "{{% livechat_label read_only %}}: you will only be able to read the chat, not write. This is useful to include the chat content in your live stream (see the [OBS documentation](/peertube-plugin-livechat/documentation/user/obs))."
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "{{% livechat_label use_current_theme_color %}}: if checked, your current theme colors will be added to the url, so that any user that opens the link will have the same color set."
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "{{% livechat_label generate_iframe %}}: instead of an url, you will obtain an HTML snippet that you can add to your website to embed the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "For more information on the \"{{% livechat_label share_chat_dock %}}\" tab, check the [OBS documentation](/peertube-plugin-livechat/documentation/user/obs)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "In the \"{{% livechat_label web %}}\" tab, the provided url opens the chat in the Peertube interface. You can share this link to other users to invite them to join the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![Share link popup - web tab](/peertube-plugin-livechat/images/share_web.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "The \"{{% livechat_label share_chat_link %}}\" popup can also contain a \"{{% livechat_label connect_using_xmpp %}}\" tab. This will only be available if your instance's administators have enabled an correctly configured this option. Using this option, you can provide a link to join the chat using any [XMPP client software](https://en.wikipedia.org/wiki/XMPP#Clients). Using such softwares can for example facilitate moderation actions."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![Share link popup - xmpp tab](/peertube-plugin-livechat/images/share_xmpp_dialog.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/basics.md
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Moderation"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "Please refer to the [moderation documentation](/peertube-plugin-livechat/documentation/user/streamers/moderation)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text, no-wrap
msgid "Include the chat in your video stream"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "Please refer to the [OBS documentation](/peertube-plugin-livechat/documentation/user/obs)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/basics.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Chat persistence"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "By default, the chat is persistent. This means that the room content will be kept for a while. User joining will see messages posted before their arrival."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "You can change the persistence behaviour. [Open the chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers), and click on \"Configure\"."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![Chat menu](/peertube-plugin-livechat/images/top_menu.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "There are several options that can be changed."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "![Configure chat room](/peertube-plugin-livechat/images/configure.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "You can for example set the default and maximum number of messages to return to 0, so that new incomers won't see any previously sent message."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "You can also uncheck \"enable archiving\": if unchecked, messages will be pruned if the server restarts."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "By unchecking \"Persistent\", the room will be cleared if there is no more participant."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text, no-wrap
msgid "Delete the chat content"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "If you want to delete the chat content, [open the chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers), then click on \"Destroy\". A popup will open, asking a confirmation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/basics.md
#, markdown-text
msgid "The chat will be automatically recreated each time someone tries to join it as long as the video exists, and has the \"{{% livechat_label use_chat %}}\" feature activated."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: build/documentation/pot_in/documentation/user/streamers/bot/commands.md
#, no-wrap
msgid "The bot can respond to several commands."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: build/documentation/pot_in/documentation/user/streamers/bot/commands.md
#, no-wrap
msgid "Commands"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/commands.md
#, markdown-text
msgid "![Commands configuration](/peertube-plugin-livechat/images/bot_commands.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/commands.md
#, markdown-text
msgid "You can setup several commands."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, no-wrap
msgid "The bot can automatically moderate messages containing forbidden words."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, no-wrap
msgid "Forbidden words"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "![Forbidden words configuration](/peertube-plugin-livechat/images/bot_forbidden_words.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "![Deleted message](/peertube-plugin-livechat/images/bot_deleted_message.png?classes=shadow,border&height=100px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "You can fill several \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" fields. When a user sends a message that match the configured criteria, the message will automatically be deleted."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "In this field, you can set several words, group of words, or \"regular expressions\"."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "Each time a user sends a message, these words will be tested. If the message containes one of them, the message will be deleted."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "You can for example fill this field with a swear words list."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "To get some examples, please check these [forbidden words suggestions](https://framagit.org/Livingston/peertube-plugin-livechat/-/tree/main/support/forbidden_words)."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "If you have some usefull words lists, you are welcome to contribute to this suggestion page. There are in the `support/forbidden_words` folder of the livechat source code. See the [contribution guide](/peertube-plugin-livechat/contributing/) for more information."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "These words are case insensitive."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "This features is still experimental. There might be some issues with non-latin alphabets. You can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues) to report your problems."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md
#, markdown-text
msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#, no-wrap
msgid "Chat bot setup"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Chat bot"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 8.0.0, and can be disabled by your instance's admins."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#, markdown-text
msgid "You can enable a chat bot on your chatrooms. The bot configuration is made channel per channel, and will apply to all related videos' chatrooms."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "![Channel configuration](/peertube-plugin-livechat/images/channel_configuration.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#, markdown-text
msgid "To access this page, check the [channel configuration documentation](/peertube-plugin-livechat/documentation/user/streamers/channel)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#, markdown-text
msgid "Once there, you can enable the bot, and setup several options:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/bot/_index.md
#, markdown-text
msgid "The bot will reload instantly when you save the page."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: build/documentation/pot_in/documentation/user/streamers/bot/quotes.md
#, no-wrap
msgid "The bot can send periodically some messages."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: build/documentation/pot_in/documentation/user/streamers/bot/quotes.md
#, no-wrap
msgid "Timers"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/quotes.md
#, markdown-text
msgid "If there is no user in the chatroom, the bot won't send any message."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/bot/quotes.md
#, markdown-text
msgid "![Timers configuration](/peertube-plugin-livechat/images/bot_quotes.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, no-wrap
msgid "Peertube channel chatrooms configuration"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, no-wrap
msgid "Channel configuration"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "In the Peertube left menu, there is a \"{{% livechat_label menu_configuration_label %}}\" entry:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "![Chatrooms menu](/peertube-plugin-livechat/images/chatrooms_menu.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "This \"{{% livechat_label menu_configuration_label %}}\" link takes you to a list of your channels. By clicking on a channel, you will then be able to setup some options for your channels:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "Here you can configure:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "[{{% livechat_label livechat_configuration_channel_terms_label %}}](/peertube-plugin-livechat/documentation/user/streamers/terms)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "[{{% livechat_label livechat_configuration_channel_mute_anonymous_label %}}](/peertube-plugin-livechat/documentation/user/streamers/moderation) default value"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "[The slow mode](/peertube-plugin-livechat/documentation/user/streamers/slow_mode)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "[The chat bot](/peertube-plugin-livechat/documentation/user/streamers/bot)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "[Custom emojis](/peertube-plugin-livechat/documentation/user/streamers/emojis)"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/channel.md
#, markdown-text
msgid "More features to come..."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, no-wrap
msgid "Plugin peertube-plugin-livechat custom emojis"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, no-wrap
msgid "Custom emojis"
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text, no-wrap
msgid "Channel emojis"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "Streamers can add custom emojis to their channels."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "On the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel), open the \"{{% livechat_label livechat_configuration_channel_emojis_title %}}\" tab:"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "![Channel configuration / Channel emojis configuration](/peertube-plugin-livechat/images/channel_custom_emojis_configuration.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "![Channel configuration / Channel emojis](/peertube-plugin-livechat/images/channel_custom_emojis.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Title ###
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text, no-wrap
msgid "Import / Export"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "On the channel configuration page, there are an \"{{% livechat_label action_import %}}\" and an \"{{% livechat_label action_export %}}\" button. The \"{{% livechat_label action_export %}}\" button generates a file than you can then import on another channel."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "You can also generate a file to import from any other source (for example you can import your Twitch custom emojis). The file must be a valid JSON file, using the following format:"
msgstr ""
#. type: Fenced code block (json)
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, no-wrap
msgid ""
"[\n"
" {\n"
" \"sn\": \":short_name:\",\n"
" \"url\": \"https://example.com/image.png\"\n"
" }\n"
"]\n"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/emojis.md
#, markdown-text
msgid "The `sn` attribute is the short name code. The `url` attribute can be any image url than your browser can access, or a [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) representing the file you want to import."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/_index.md
#, no-wrap
msgid "How to setup the chat for your live stream"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/_index.md
#, no-wrap
msgid "For streamers"
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, no-wrap
msgid "Plugin peertube-plugin-livechat moderation delay"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, no-wrap
msgid "Moderation delay"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 10.3.0."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Introduction"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "As a streamer, you can choose to delay messages in the chat, to let some time to moderators to delete messages before they can even be read by other participants."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "When this feature is enabled, moderators will see all messages without any delay. Chat participants won't see that their own messages are delayed."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "Please note that messages sent by moderators will also be delayed, to avoid them to respond to messages that are not even visible by other participants."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text, no-wrap
msgid "Moderation delay option"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "On the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel), you can set the \"{{% livechat_label moderation_delay %}}\" option:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "![Channel configuration / Moderation delay](/peertube-plugin-livechat/images/moderation_delay_channel_option.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "This value will apply as a default value for all your channel's chatrooms."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "Setting the value to `0` will disable the feature."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "Setting the value to a positive integer will set the delay, in seconds, to apply to messages. Please avoid setting the value too high. Ideally it should not exceed a few seconds (4 or 5 seconds for example)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "To modify the value for an already existing room, just open the room \"configuration\" menu (on top of the chat window), and change the moderation delay value in the configuration form."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "Currently, this feature has one known bug: users that join the chat will get all messages, even messages that are still pending for other participants. However, messages sent after they joined will be delayed correctly."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text, no-wrap
msgid "In the chat"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "As a moderator, you will see the remaining time (in seconds) before the message is broadcasted, just besides the message datetime."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/moderation_delay.md
#, markdown-text
msgid "![Moderation delay timer](/peertube-plugin-livechat/images/moderation_delay_timer.png?classes=shadow,border)"
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, no-wrap
msgid "Plugin peertube-plugin-livechat advanced moderation features"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "This section is still incomplete."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text, no-wrap
msgid ""
"This page describes the behaviour of livechat versions >= 10.0.0.\n"
"There were some changes in the way we manage access rights for Peertube administrators and moderators.\n"
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text, no-wrap
msgid "The chat bot"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can use a chat bot, that will help you for moderation. Check [the chat bot documentation](/peertube-plugin-livechat/documentation/user/streamers/bot) for more information."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text, no-wrap
msgid "Accessing moderation tools"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can access room settings and moderation tools using the [chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers) at the top of the chat."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "The video owner will be owner of the chat room. This means they can configure the room, delete it, promote other users as admins, ..."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "Starting with livechat v10.0.0, Peertube instance's admins and moderators have no special rights on rooms by default. However, they have a special button available on top of the chat: \"{{% livechat_label promote %}}\". Clicking this button will give them owner access on the room."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can use [ConverseJS moderation commands](https://conversejs.org/docs/html/features.html#moderating-chatrooms) to moderate the room. When you open the chat room in full screen, there will also be a menu with dedicated commands on the top right."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#: support/documentation/content/en/documentation/user/streamers/polls.md
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 10.2.0."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can prevent anonymous users to send messages. In such case, only registered users will be able to talk in the chat."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "To enable or disable this feature, use the [chat dropdown menu](/peertube-plugin-livechat/documentation/user/viewers), open the \"configure\" menu. In the form, you will find a \"{{% livechat_label livechat_configuration_channel_mute_anonymous_label %}}\" checkbox."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "![Room configuration / Mute anonymous users](/peertube-plugin-livechat/images/configure_mute_anonymous.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "Anonymous users won't have the message field, and will see following prompt: \"{{% livechat_label muted_anonymous_message %}}\""
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "![Room configuration / Muted anonymous users](/peertube-plugin-livechat/images/anonymous_muted.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "When this feature is enabled, anonymous users will be assigned the \"visitor\" role. You can change their role to \"participant\" if you want to allow some of them to talk."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "If you change the room configuration, all anonymous users will be muted or unmuted."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can choose to enable or disable this feature for new chatrooms on the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel)."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text, no-wrap
msgid "Roles and affiliations"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "There are several roles that can be assignated to users in chat rooms: owner, moderators, member, ..."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can promote users as moderators, if you need some help."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text, no-wrap
msgid "Delete room content"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can delete old rooms: join the room, and use the menu on the top to destroy the room."
msgstr ""
#. type: Title ##
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text, no-wrap
msgid "Instance moderation"
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "As Peertube instance moderator or administrator, you will probably need to check that your users are not behaving badly."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "You can list all existing chatrooms: in the plugin settings screen, there is a button «List rooms»."
msgstr ""
#. type: Plain text
#: build/documentation/pot_in/documentation/user/streamers/moderation.md
#, markdown-text
msgid "From there, you can also promote yourself as room moderator by using the \"{{% livechat_label promote %}}\" button on the right."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, no-wrap
msgid "You can create polls to ask viewers their opinion."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, no-wrap
msgid "Polls"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text, no-wrap
msgid "Create a poll"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "You can create a new poll by using the \"{{% livechat_label new_poll %}}\" action in the chat top menu:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "![Poll form](/peertube-plugin-livechat/images/polls_form.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "This poll feature should not be considered as a reliable voting system. It is easy to cheat. There is no mechanism to prevent anonymous users to vote multiple times by just reloading the chat. Votes are never fully anonymous, someone having access to the server could see who voted for what choice."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text, no-wrap
msgid "Poll form"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Fill the form fields:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "\"{{% livechat_label poll_question %}}\": the question to ask to you viewers"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "\"{{% livechat_label poll_duration %}}\": the duration for which viewers can vote"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "\"{{% livechat_label poll_anonymous_results %}}\": if checked, votes won't be publicly visible in the chat"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "\"Choice N\": choices that will be presented to viewers"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "You must at least fill the two first choices fields."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Once you submit the form, the poll will instantly start."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "If there was a previous unfinished poll, it will end and its result will be shown."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/streamers/polls.md
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Access rights"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Every room's admins can create a new poll."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "When you promote someone as room admin or owner, they gets instant access to the \"{{% livechat_label new_poll %}}\" action."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "When you remove admin or owner rights to someone, they can't create new poll. But any existing poll will continue until it ends."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Every user that is not muted can vote. This means that you can prevent anonymous users to vote by using the [\"{{% livechat_label livechat_configuration_channel_mute_anonymous_label %}}\" feature](/peertube-plugin-livechat/documentation/user/streamers/moderation)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text, no-wrap
msgid "Poll workflow"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "When the polls starts, a first message will be sent in the chat, from the account of the user creating the poll."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "A banner will also appear to show the poll, and will be updated regularly with the current votes."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "![Poll start](/peertube-plugin-livechat/images/polls_start.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Viewers can then vote by clicking on their choice, or by sending message like \"!1\" in the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Votes counts will be updated regularly in the banner."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Viewers can change their vote at any time, just by making a new choice. Their precedent choice will be replaced by the new one."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "![Poll votes](/peertube-plugin-livechat/images/polls_votes.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "Anonymous viewers can only vote once they have choosen their nickname."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "If \"{{% livechat_label poll_anonymous_results %}}\" is checked, votes won't be shown to other users. If unchecked, votes will be publicly visible as you will see message like \"!1\" in the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "For viewers using XMPP clients or outdated livechat plugin versions, the banner will not be visible. But they will see the message in the chat and will be able to vote by sending messages with their choices."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "When the poll ends, a new message will be sent in the chat, with the results."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "![Poll end](/peertube-plugin-livechat/images/polls_end.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/polls.md
#, markdown-text
msgid "The only way to get old polls results is to search for the poll end message in the chat. For now, polls results are not saved by any other means. So don't forget to note polls results if you want to keep them."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, no-wrap
msgid "Plugin peertube-plugin-livechat slow mode"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, no-wrap
msgid "Slow mode"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 8.3.0."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "As a streamer, you can choose to rate limit your viewers messages in the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "This can be really usefull to:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "avoid message flooding"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "avoid unreadable chat if there are many viewers talking"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "You can set a number of seconds that users will have to wait after sending a message, before sending another."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "This limitation does not apply to moderators."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text, no-wrap
msgid "Slow mode option"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "On the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel), you can set the slow mode option:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "![Channel configuration / Slow Mode](/peertube-plugin-livechat/images/slow_mode_channel_option.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "Setting the value to a positive integer will set the period during which users will not be able to post additional messages."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "To modify the value for an already existing room, just open the room \"configuration\" menu (on top of the chat window), and change the slow mode value in the configuration form."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "For viewers"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "If the slow mode is enabled, users will be informed by a message."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "![Slow mode infobox](/peertube-plugin-livechat/images/slow_mode.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/slow_mode.md
#, markdown-text
msgid "When they send a message, the input field will be disabled for X seconds (where X is the slow mode duration)."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, no-wrap
msgid "You can handle tasks and task lists with your moderation team."
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, no-wrap
msgid "Tasks / To-do lists"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 10.0.0."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "The livechat plugin includes a Task Application: a kind of \"to-do list\" feature where you can create task lists and add tasks to them. Every room's admins have access to these tasks, so you can edit them collaboratively."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "You can for example use the Task Application to:"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "prepare a list of themes you want to discuss during your livestream, so you can be sure you won't forget anything"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "highlight questions from your viewers, so you can come back to them later without forgetting to answer them"
msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "..."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Using the Task Application"
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Opening the Task Application"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "To open the Task Application, there is a \"{{% livechat_label \"tasks\" %}}\" button in the top chat menu:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Opening the Task Application](/peertube-plugin-livechat/images/task_open_app_video.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Opening the Task Application](/peertube-plugin-livechat/images/task_open_app_fullpage.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "Clicking this button will toggle the Task Application display:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Task Application](/peertube-plugin-livechat/images/task_app_video_1.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Task Application](/peertube-plugin-livechat/images/task_app_fullpage_1.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "To have more space and better readability, open the chat in full-page mode."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "Every room's admins have access to the Task Application (read and write access)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "When you promote someone as room admin or owner, they gets instant access to the Task Application. When you remove admin or owner rights to someone, they instantly lose access to the Task Application."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Task lists"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "By default, there is one task list that has the same name as your livestream."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "You can use the form at the bottom to create a new task list. You can also edit existing task lists using the edit button, or delete any task list. Deleting a task list will also delete all its tasks."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "Task lists are sorted alphabetically."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Task lists](/peertube-plugin-livechat/images/task_app_task_lists.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "All modification are instantly visible in all your browser tabs, and for all room's admins."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Tasks"
msgstr ""
#. type: Title ####
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Create tasks"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "You can create a task using the button on the right of task lists. This opens a form with two fields: a mandatory task name, and an optional description."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Task form](/peertube-plugin-livechat/images/task_app_task_form.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Task created](/peertube-plugin-livechat/images/task_app_task_1.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ####
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Edit tasks"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "Tasks can be edited by using the edit button on the right."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "Tasks can be marked complete (or uncomplete) by clicking directly on the checkbox in the list."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Tasks](/peertube-plugin-livechat/images/task_app_task_2.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ####
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Sorting tasks / change task list"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "You can sort tasks, or move tasks from one list to another, simply using drag & drop."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Drag and drop to sort](/peertube-plugin-livechat/images/task_drag_drop.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Drag and drop to move to another list](/peertube-plugin-livechat/images/task_drag_drop_task_list.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ####
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text, no-wrap
msgid "Create a task from a chat message"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "You can create a task from a message in a chat, using the \"{{% livechat_label \"task_create\" %}}\" button in the dropdown menu at the right of the message. This will open a dialog box where you can choose which task list you want to add the task into. The task name will be the user nickname, and the task description the message content."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Create task from message](/peertube-plugin-livechat/images/task_from_message_1.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Choose the task list](/peertube-plugin-livechat/images/task_from_message_2.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "![Task created](/peertube-plugin-livechat/images/task_from_message_3.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/tasks.md
#, markdown-text
msgid "Using this feature, for example, you can ask your moderators to highlight all chat questions, so you can see them at a glance during your livestream, and check them as answered."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, no-wrap
msgid "Configure channel's chat terms & conditions"
msgstr ""
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, no-wrap
msgid "Terms & conditions"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text, no-wrap
msgid "Configuration"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "You can add terms & conditions to your channel. These terms will be shown to all users joining the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "To configure the terms & conditions, go to the [channel configuration page](/peertube-plugin-livechat/documentation/user/streamers/channel):"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "![Channel configuration / Terms](/peertube-plugin-livechat/images/channel_terms_config.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "URL in the message will be clickable. You can also do some styling: [Message Styling](https://xmpp.org/extensions/xep-0393.html)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text, no-wrap
msgid "Viewers"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "When joining the chat, viewers will see the terms:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "![Terms](/peertube-plugin-livechat/images/terms.png?classes=shadow,border&height=400px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "Peertube instance's admin can also set global terms & conditions. If so, these terms will be shown above your channel's terms."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "Anonymous users will only see the terms & conditions once they have chosen their nickname (in other words: once they are able to talk)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "You can change the terms content at any time, it will be instantly updated for all viewers."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "Users can hide the terms & conditions. When doing so, terms won't be shown again, unless you change the content."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/streamers/terms.md
#, markdown-text
msgid "If your Peertube instance allows joining chat with [XMPP clients](https://livingston.frama.io/peertube-plugin-livechat/documentation/admin/advanced/xmpp_clients/), users using such clients will see the terms as chat messages, coming from a \"Peertube\" account. When you update terms, they will receive a new message with the update terms content."
msgstr ""
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/documentation/user/viewers.md
#, no-wrap
msgid "How to chat for stream viewers"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Joining chat rooms"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "When you are watching a Peertube video that has the chat activated, you will see the chat next to the video:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#: support/documentation/content/en/_index.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "![Chat screenshot](/peertube-plugin-livechat/images/chat.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "There are two slightly different use cases, depending on wether or not you have an account on the Peertube instance. See bellow for more informations."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "If you haven't a Peertube account"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "If you are not logged in on the Peertube instance where you are watching the video, you will automatically join the chat. You will be assigned a random nickname (something like \"Anonymous 12345\")."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![Chat with an anonymous user](/peertube-plugin-livechat/images/chat_with_anonymous.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "Before being able to speak in the chat room, you have to enter a nickname in the field on the bottom of the window."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![Joining chat when not connected](/peertube-plugin-livechat/images/chat_anonymous.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ####
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Log in using an external authentication provider"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "The Peertube instance can configure external authentication providers (Mastodon accounts, Google accounts, ...). In such case, you will see a \"{{% livechat_label login_using_external_account %}}\" button, that will open a dialog modal. In this dialog modal, there will be some buttons to connect using a remote account."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "Once you signed in the remote account, and have granted access, your nickname and avatar (if available) will be automatically fetched. No other data will be stored. These data will be automatically deleted several hours after your quit the chat."
msgstr ""
#. type: Title ###
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "If you have a Peertube account"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "If you are connected with your Peertube account, you will automatically join the room, using your Peertube nickname and avatar."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "If you are watching a live on an instance on which you have no account, but you have an account on another instance: if the livechat plugin is installed on both instances, it is possible to join the chat using your account. To do so, just open the video on your instance (you can for example copy/paste the video url in the search field of your instance)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "If you have a Peertube account on another Peertube instance"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "This feature comes with the livechat plugin version 9.0.0."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "If you have a Peertube account, but not on the current instance, there is a \"{{% livechat_label login_using_external_account %}}\" button. This button will open a dialog where you can enter your Peertube instance URL. Once you entered it, it will check if the livechat plugin is available on the remote instance, and if the video is available. If it is the case, you will be redirected to the video on the remote instance."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![External login dialog](/peertube-plugin-livechat/images/external_login_dialog.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Chatting"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "To send messages, just type them in the \"message\" field on the bottom of the screen. You can send them by pressing the enter key on your keyboard, or by clicking on the \"send\" button."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "If you want to add line breaks in your messages, you can use the \"shift+enter\" key combination."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "You can add emojis to your messages. You can for example use the emojis menu, or directly type emojis shortcuts like `:smiley:`."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "You can mention other participants. To do so, you can type the first nickname letters, then press the tab key. You can also type `@`: this will directly open the menu. You can also click on a nickname in the participants list to insert it in the message field."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Participants list"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "To see the list of participants, just open the right menu:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "![Participants list](/peertube-plugin-livechat/images/open_participants_list.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "You can see that some participants have special rights (moderator, owner, ...)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Chat dropdown menu"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "There is a dropdown menu on the top of the chat, with some advanced features. This is especially useful for [moderation features](/peertube-plugin-livechat/documentation/user/streamers/moderation). Available features depends on your access level."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Opening full screen"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "On top of the chat, there is a button to open the chat in fullscreen. This will open a new browser tab with the following content:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "![Fullscreen chat screenshot](/peertube-plugin-livechat/images/fullscreen.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "It can be easier to chat using a full browser tab."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text, no-wrap
msgid "Changing nickname"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "You can change your nickname by typing `/nick your_new_nickname` in the message field."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/viewers.md
#, markdown-text
msgid "You can also change your nickname using the chat menu."
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
msgid "This chat plugin relies 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). This can be useful for example to facilitate moderation operations."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "The features described on this page must be enabled and configured by your Peertube instance's administrators. You may therefore not have access to them."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "If this feature is enabled on your instance, you can connect to Peertube chats using any XMPP account."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "To get the address of the room you want to join, you can use the \"share chat\" button that is located above the chat:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "![Share button](/peertube-plugin-livechat/images/share_button.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "By default, the share button is only visible to the owner of the video, and the admins/moderators of the instance. However, admins can decide to display this button for everyone."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "Then, choose \"Connect using XMPP\":"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "![Share XMPP](/peertube-plugin-livechat/images/share_xmpp_dialog.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/documentation/user/xmpp_clients.md
#, markdown-text
msgid "Then you just have to click on \"open\" or copy/paste the address of the chat room into your XMPP client (using the \"join a room\" feature)."
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
#, markdown-text
msgid "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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/_index.md
#, markdown-text
msgid "Welcome the **Peertube Livechat Plugin** documentation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/_index.md
#, markdown-text
msgid "[Peertube](https://joinpeertube.org/) is a decentralized streaming platform, that can provide both live streaming and VOD (Video On Demand) features. The present plugin adds chatting capatibilities to your Peertube installation, allowing viewers to interract with streamers."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/_index.md
#, markdown-text
msgid "To have a glimpse on this plugin capabilities, checkout the [introduction](/peertube-plugin-livechat/intro/). For more precise informations, please find bellow the summary of this documentation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/_index.md
#, markdown-text
msgid "You can use the searchbox in the left menu to quickly find specific documentation parts."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "What is the livechat plugin?"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "This [Peertube](https://joinpeertube.org/) plugin is meant to provide a chat system for Peertube videos."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "By default, once you have installed the plugin on your Peertube instance, a chat room will automatically be created for each live stream."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "On the following screenshot, you can see a classic Peertube video page, with a chat room on the right (click on the picture to view it full screen):"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "The chat room will be accessible for all viewers, even those who don't have an account on your instance. Those \"anonymous\" users just have to choose a nickname before they can begin talking in the chat."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "By default, the chat is displayed next to the video. But you can open it in another browser tab, using the button on top of it :"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "You can test the livechat plugin with this [demo page](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae)."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Installation"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "As a Peertube administrator, you can setup this plugin on your instance simply by using the Peertube plugin marketplace included in the administration interface. Search for \"livechat\", then click \"install\": that's it!"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "![Livechat installation](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px)"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Livechat capabilities"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "The plugin has many advanced features. As it is using the [XMPP](https://xmpp.org/) standard \"under the hood\", it is possible for Peertube administrators to allow advanced usages (connection using XMPP clients, chatbots, bridge to other chat protocols, ...). More information in the relevant sections of this documentation."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "Peertube is part of the fediverse: you can create a network of Peertube instances, sharing content between them."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "This plugin can handle federation: when viewing a livestream from a remote instance, you will join the chat room with your local account. You will be automatically connected with your current nickname and avatar."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "Of course, for the federation to work, the plugin must be installed on both instances."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "Some times, you have to protect your community from bad people. As an instance administrator, you can choose to disallow federation for the livechat plugin. If remote actors behave badly, streamers, moderators and administrators can ban or mute users."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "This plugin comes with a built-in [chat bot](/peertube-plugin-livechat/documentation/user/streamers/bot/). Check its documentation for more information."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "You can also plug in any other XMPP chat bot, using [XMPP External Components](https://prosody.im/doc/components). To do so, you just have to configure External Components access in the [plugin settings](/peertube-plugin-livechat/documentation/admin/settings)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "When joining a room, you will see previous messages. Even those sent before you joined the room."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "This behaviour can be changed room by room, and default retention duration can be chosen by instance's administrators."
msgstr ""
#. type: Title ##
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Integrate the chat in your live stream"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "When using software as [OBS](https://obsproject.com) for you live stream, you can embed the chat in the video stream. This is for example useful for replays."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "In the following screenshot, you can see a live replay, where the chat content is embeded on bottom of the video:"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "In the following screenshot, you can see an OBS setup, where the chat is included as a source in the current scene (background color can be changed, and can be transparent):"
msgstr ""
#. type: Title ##
#: support/documentation/content/en/intro/_index.md
#, markdown-text, no-wrap
msgid "Other usages"
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "By default, each streamer will be able to activate/deactivate the chat for their live streams."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "But on the instance level, administrators can choose to activate the chat for all videos (live and/or VOD)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/intro/_index.md
#, markdown-text
msgid "You can even activate the chat for specific VOD videos. This is how the [demo](https://www.yiny.org/w/399a8d13-d4cf-4ef2-b843-98530a8ccbae) page works: it is not a live stream, but I have activated the chat specifically for this video."
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
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."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/issues/_index.md
#, markdown-text
msgid "To have a glimpse to the roadmap for upcoming features, please refer to:"
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/issues/_index.md
#, markdown-text
msgid "this [github project](https://github.com/users/JohnXLivingston/projects/1)."
msgstr ""
#. type: Bullet: '- '
#: support/documentation/content/en/issues/_index.md
#, markdown-text
msgid "the [milestones on github](https://github.com/JohnXLivingston/peertube-plugin-livechat/milestones)."
msgstr ""
#. type: Plain text
#: support/documentation/content/en/issues/_index.md
#, markdown-text
msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome."
msgstr ""