Multi lang docs
This commit is contained in:
parent
380858dfb2
commit
9045cbbd3f
|
@ -0,0 +1 @@
|
||||||
|
Add ability to translate documentation into multiple languages
|
|
@ -0,0 +1,2 @@
|
||||||
|
.doctrees/
|
||||||
|
_panels_static/
|
|
@ -0,0 +1,16 @@
|
||||||
|
#translation-closer {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.translation-hint {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999;
|
||||||
|
bottom: 20px;
|
||||||
|
right: 20px;
|
||||||
|
background-color: #c9c9c9;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.translation-hint h1 {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
hideTranslationHint = function() {
|
||||||
|
document.getElementsByClassName("translation-hint")[0].style.display = "none"
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onload = function() {
|
||||||
|
document.getElementById("translation-closer").addEventListener("click", hideTranslationHint);
|
||||||
|
}
|
|
@ -2,6 +2,16 @@
|
||||||
|
|
||||||
{% block document %}
|
{% block document %}
|
||||||
|
|
||||||
|
{% if language is not none %}
|
||||||
|
<div class="translation-hint">
|
||||||
|
<i class="fa fa-times" id="translation-closer" aria-hidden="true"></i>
|
||||||
|
<h1>Something wrong with the translation?</h1>
|
||||||
|
<p>Help us to improve it on our <a href="
|
||||||
|
https://translate.funkwhale.audio/projects/documentation/{{ pagename |
|
||||||
|
replace("/", "-") }}" target="_blank">translation platform</a></p>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if current_version and current_version.name == "develop" %}
|
{% if current_version and current_version.name == "develop" %}
|
||||||
<div class="admonition warning">
|
<div class="admonition warning">
|
||||||
<p class="admonition-title">Warning</p>
|
<p class="admonition-title">Warning</p>
|
||||||
|
|
|
@ -1,6 +1,24 @@
|
||||||
#!/bin/bash -eux
|
#!/bin/bash -eux
|
||||||
# Building sphinx and swagger docs
|
# We clean up translations, only fully translated components are kept
|
||||||
|
IFS=$'\n'
|
||||||
|
|
||||||
|
for i in $(poetry run sphinx-intl stat); do
|
||||||
|
echo "$i"
|
||||||
|
if [[ "$i" != *" 0 untranslated." ]]; then
|
||||||
|
file=$(echo $i | cut -d: -f1)
|
||||||
|
echo "delete $file"
|
||||||
|
rm $file
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Build sphinx
|
||||||
poetry run sphinx-multiversion . $BUILD_PATH
|
poetry run sphinx-multiversion . $BUILD_PATH
|
||||||
|
for d in $(ls locales); do
|
||||||
|
if [[ $d != "gettext" ]]; then
|
||||||
|
poetry run sphinx-multiversion -D language="$d" . $BUILD_PATH/$d
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Build swagger
|
||||||
TARGET_PATH="$BUILD_PATH/swagger" ./build_swagger.sh
|
TARGET_PATH="$BUILD_PATH/swagger" ./build_swagger.sh
|
||||||
python ./get-releases-json.py > $BUILD_PATH/releases.json
|
python ./get-releases-json.py > $BUILD_PATH/releases.json
|
||||||
python ./get-releases-json.py --latest > $BUILD_PATH/latest.txt
|
python ./get-releases-json.py --latest > $BUILD_PATH/latest.txt
|
||||||
|
|
13
docs/conf.py
13
docs/conf.py
|
@ -20,7 +20,6 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import datetime
|
import datetime
|
||||||
import subprocess
|
|
||||||
|
|
||||||
sys.path.insert(0, os.path.abspath("../api"))
|
sys.path.insert(0, os.path.abspath("../api"))
|
||||||
sys.path.insert(0, os.path.abspath("../api/config"))
|
sys.path.insert(0, os.path.abspath("../api/config"))
|
||||||
|
@ -131,7 +130,13 @@ html_favicon = "../front/public/favicon.png"
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
# html_static_path = ["_static"]
|
html_static_path = ["_static"]
|
||||||
|
html_css_files = [
|
||||||
|
"css/translation-hint.css",
|
||||||
|
]
|
||||||
|
html_js_files = [
|
||||||
|
"js/translation-hint.js",
|
||||||
|
]
|
||||||
|
|
||||||
# -- Options for HTMLHelp output ------------------------------------------
|
# -- Options for HTMLHelp output ------------------------------------------
|
||||||
|
|
||||||
|
@ -284,3 +289,7 @@ def setup(app):
|
||||||
|
|
||||||
smv_tag_whitelist = None
|
smv_tag_whitelist = None
|
||||||
smv_branch_whitelist = r"(stable|develop)$"
|
smv_branch_whitelist = r"(stable|develop)$"
|
||||||
|
|
||||||
|
# Internationalization settings
|
||||||
|
locale_dirs = ["locales/"]
|
||||||
|
gettext_compact = False
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: en_GB\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:2
|
||||||
|
msgid "Backup your Funkwhale instance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:6
|
||||||
|
msgid "Before upgrading your instance, we strongly advise you to make at least a database backup. Ideally, you should make a full backup, including the database and the media files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:10
|
||||||
|
msgid "Docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:12
|
||||||
|
msgid "If you've followed the setup instructions in :doc:`../installation/docker`, here is the backup path:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:15
|
||||||
|
msgid "Multi-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:18
|
||||||
|
#: ../../admin/backup.rst:51
|
||||||
|
msgid "Backup the database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:20
|
||||||
|
msgid "On docker setups, you have to ``pg_dumpall`` in container ``funkwhale_postgres_1``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:27
|
||||||
|
#: ../../admin/backup.rst:60
|
||||||
|
msgid "Backup the media files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:29
|
||||||
|
msgid "To backup docker data volumes, as the volumes are bound mounted to the host, the ``rsync`` way would go like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:38
|
||||||
|
#: ../../admin/backup.rst:70
|
||||||
|
msgid "Backup the configuration files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:40
|
||||||
|
msgid "On docker setups, the configuration file is located at the root level:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:48
|
||||||
|
msgid "Non-docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:53
|
||||||
|
msgid "On non-docker setups, you have to ``pg_dump`` as user ``postgres``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:62
|
||||||
|
msgid "A simple way to backup your media files is to use ``rsync``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:77
|
||||||
|
msgid "You may also want to backup your proxy configuration file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:79
|
||||||
|
msgid "For frequent backups, you may want to use deduplication and compression to keep the backup size low. In this case, a tool like ``borg`` will be more appropriate."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,84 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+0200\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: en_US\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:2
|
||||||
|
msgid "Backup your Funkwhale instance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:6
|
||||||
|
msgid "Before upgrading your instance, we strongly advise you to make at least a database backup. Ideally, you should make a full backup, including the database and the media files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:10
|
||||||
|
msgid "Docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:12
|
||||||
|
msgid "If you've followed the setup instructions in :doc:`../installation/docker`, here is the backup path:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:15
|
||||||
|
msgid "Multi-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:18
|
||||||
|
#: ../../admin/backup.rst:51
|
||||||
|
msgid "Backup the database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:20
|
||||||
|
msgid "On docker setups, you have to ``pg_dumpall`` in container ``funkwhale_postgres_1``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:27
|
||||||
|
#: ../../admin/backup.rst:60
|
||||||
|
msgid "Backup the media files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:29
|
||||||
|
msgid "To backup docker data volumes, as the volumes are bound mounted to the host, the ``rsync`` way would go like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:38
|
||||||
|
#: ../../admin/backup.rst:70
|
||||||
|
msgid "Backup the configuration files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:40
|
||||||
|
msgid "On docker setups, the configuration file is located at the root level:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:48
|
||||||
|
msgid "Non-docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:53
|
||||||
|
msgid "On non-docker setups, you have to ``pg_dump`` as user ``postgres``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:62
|
||||||
|
msgid "A simple way to backup your media files is to use ``rsync``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:77
|
||||||
|
msgid "You may also want to backup your proxy configuration file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:79
|
||||||
|
msgid "For frequent backups, you may want to use deduplication and compression to keep the backup size low. In this case, a tool like ``borg`` will be more appropriate."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,390 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:2
|
||||||
|
msgid "About Funkwhale 0.17"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:4
|
||||||
|
msgid "Funkwhale 0.17 is a special version, which contains a lot of breaking changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:6
|
||||||
|
msgid "Before doing the upgrade, please read this document carefully."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:10
|
||||||
|
msgid "Overview of the changes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:15
|
||||||
|
msgid "The what and why are described more thoroughly in this page: https://dev.funkwhale.audio/funkwhale/funkwhale/merge_requests/368"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:17
|
||||||
|
msgid "To sum it up, this release big completely changes the way audio content is managed in Funkwhale. As you may guess, this has a huge impact on the whole project, because audio is at the core of Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:21
|
||||||
|
msgid "Here is a side by side comparison of earlier versions and this release to help you understand the scale of the changes:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:25
|
||||||
|
msgid "Before"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:25
|
||||||
|
msgid "After"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:25
|
||||||
|
msgid "Reason"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:27
|
||||||
|
msgid "There is one big audio library, managed at the instance level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:27
|
||||||
|
msgid "Each user can have their own libraries (either public, private or shared at the instance level)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:27
|
||||||
|
msgid "Managing the library at instance was cumbersome and dangerous: sharing an instance library over federation would quickly pose copyright issues, as well as opening public instances. It also made it impossible to only share a subset of the music."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:29
|
||||||
|
msgid "Users needed a specific permissions from instance owners to upload audio content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:29
|
||||||
|
msgid "Users can upload music to their own libraries without any specific permissions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:29
|
||||||
|
msgid "This change makes it easier for new users to start using Funkwhale, and for creators to share their content on the network."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:31
|
||||||
|
msgid "Users with permissions can upload as much content as they want in the instance library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:31
|
||||||
|
msgid "Users have a storage quota and cannot exceed that storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:31
|
||||||
|
msgid "This change gives visibiliy to instance owners about their resource usage. If you host 100 users with a 1Gb quota, you know that your Funkwhale instance will not store more than 100Gb of music files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:33
|
||||||
|
msgid "N/A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:33
|
||||||
|
msgid "Users can upload private content or share content with only specific users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:33
|
||||||
|
msgid "This is a new feature, and we think it will enable users to upload their own music libraries to their instance, without breaking the law or putting their admins in trouble, since their media will remain private."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:35
|
||||||
|
msgid "Youtube Import"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:35
|
||||||
|
#: ../../admin/0.17.rst:37
|
||||||
|
msgid "This feature is removed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:35
|
||||||
|
msgid "This feature posed copyright issues and impacted the credibility of the project, so we removed it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:37
|
||||||
|
msgid "Music requests"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:37
|
||||||
|
msgid "Since all users can now upload content without specific permissions, we think this feature is less-likely to be useful in its current state."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:41
|
||||||
|
msgid "From a shared, instance-wide library to users libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:43
|
||||||
|
msgid "As you can see, there is a big switch: in earlier versions, each instance had one big library, that was available to all its users. This model don't scale well (especially if you put federation on top of that), because it's an all-or-nothing choice if you want to share it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:47
|
||||||
|
msgid "Starting from version 0.17, each user will be able to create personal libraries and upload content in those, up to a configurable quota."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:50
|
||||||
|
msgid "Those libraries can have one of the following visibility level:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:52
|
||||||
|
msgid "**Private**: only the owner of the library can access its content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:53
|
||||||
|
msgid "**Instance**: users from the same instance can access the library content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:54
|
||||||
|
msgid "**Public**: everyone (including other instances) can access the library content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:56
|
||||||
|
msgid "Regardless of this visibility level, library owners can also share them manually with other users, both from the same instance or from the federation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:59
|
||||||
|
msgid "We think this change will have a really positive impact:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:61
|
||||||
|
msgid "Admins should be more inclined to open their instance to strangers, because copyrighted media can be upload and shared privately"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:63
|
||||||
|
msgid "Creators should have a better experience when joining the network, because they can now upload their own content and share it over the federation without any admin intervention"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:65
|
||||||
|
msgid "The federation should grow faster, because user libraries can contain copyrighted content and be shared, without putting the admins at risk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:69
|
||||||
|
msgid "Accessing music"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:71
|
||||||
|
msgid "From an end-user perspective, you will be able to browse any artist or album or track that is known by your instance, but you'll only be able to listen to content that match one of those criteria:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:75
|
||||||
|
msgid "The content is available is one of your libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:76
|
||||||
|
msgid "The content is available in a public library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:77
|
||||||
|
msgid "The content is available in one library from your instance that has a visibility level set to \"instance\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:78
|
||||||
|
msgid "The content is available in one of the libraries you follow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:80
|
||||||
|
msgid "Following someone else's library is a four step process:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:82
|
||||||
|
msgid "Get the library link from its owner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:83
|
||||||
|
msgid "Use this link on your instance to follow the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:84
|
||||||
|
msgid "Wait until your follow request is approved by the library owner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:85
|
||||||
|
msgid "If this library is unknown on your instance, it will be scanned to import its content, which may take a few minutes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:87
|
||||||
|
msgid "Libraries owner can revoke follows at any time, which will effectively prevent the ancient follower from accessing the library content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:91
|
||||||
|
msgid "A brand new federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:93
|
||||||
|
msgid "This is more \"under the hood\" work, but the whole federation/ActivityPub logic was rewritten for this release. This new implementation is more spec compliant and should scale better."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:97
|
||||||
|
msgid "The following activities are propagated over federation:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:99
|
||||||
|
msgid "Library follow creation, accept and reject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:100
|
||||||
|
msgid "Audio creation and deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:101
|
||||||
|
msgid "Library deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:104
|
||||||
|
msgid "A better import UI"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:106
|
||||||
|
msgid "This version includes a completely new import UI which should make file uploading less annoying. In particular, the UI updates in real-time and has a better error reporting."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:111
|
||||||
|
msgid "A better import engine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:113
|
||||||
|
msgid "Funkwhale is known for its quircks during music import. Missing covers, split albums, bad management of tracks with multiple artists, missing data for files imported over federation, bad performance, discrepancies between the user-provided tags and what is actually stored in the database..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:118
|
||||||
|
msgid "This should be greatly improved now, as the whole import logic was rewritten from scratch."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:121
|
||||||
|
msgid "Import is done completely offline and no longer calls the MusicBrainz API, except to retrieve covers if those are not embedded in the imported files. MusicBrainz references are still stored in the database, but we rely solely on the tags from the audio file now."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:126
|
||||||
|
msgid "This has two positive consequences:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:128
|
||||||
|
msgid "Improved performance for both small and big imports (possibly by a factor of 10)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:129
|
||||||
|
msgid "More reliable import result: if your file is tagged in a specific way, we will only use tags for the import."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:132
|
||||||
|
msgid "Imports from federation, command-line and UI/API all use the same code, which should greatly reduce the bugs/discrepencies."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:135
|
||||||
|
msgid "Finally, the import engine now understands the difference between a track artist and an album artist, which should put an end to the album splitting issues for tracks that had a different artist than the album artist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:140
|
||||||
|
msgid "What will break"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:142
|
||||||
|
msgid "If you've read until here, you can probably understand that all of these changes comes at a cost: version 0.17 contains breaking changes, removed features and other changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:146
|
||||||
|
msgid "The following features were removed:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:148
|
||||||
|
msgid "YouTube imports: for copyright reasons, keeping this in the core was not possible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:149
|
||||||
|
msgid "Music requests: those are now less useful since anyone can upload content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:151
|
||||||
|
msgid "Also, the current federation will break, as it's absolutely not compatible with what we've built in version 0.17, and maintaining compatibility was simply not possible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:154
|
||||||
|
msgid "Apart from that, other features should work the same way as they did before."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:157
|
||||||
|
msgid "Migration path"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:161
|
||||||
|
msgid "This migration is huge. Do a backup. Please. The database, and the music files. Please."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:164
|
||||||
|
msgid "I'm not kidding."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:167
|
||||||
|
msgid "Migration will be similar to previous ones, with an additional script to run that will take care of updating existing rows in the database. Especially, this script will be responsible to create a library for each registered user, and to bind content imported by each one to this library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:172
|
||||||
|
msgid "Libraries created this way will have a different visibility level depending of your instance configuration:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:174
|
||||||
|
msgid "If your instance requires authentication to access the API / listen to music, libraries will be marked with \"instance\" visibility. As a result, all users from the instance will still be able to listen to all the music of the instance after the migration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:177
|
||||||
|
msgid "If your instance does not require authentication to access the API / listen to music, libraries will be completely public, allowing anyone to access the content (including federation)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:180
|
||||||
|
msgid "This script will also contain other database-related operations, but the impact will remain invisible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:185
|
||||||
|
msgid "Upgrade instructions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:187
|
||||||
|
msgid "Follow instructions from https://docs.funkwhale.audio/upgrading/index.html, then run the migrations script."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:190
|
||||||
|
msgid "On docker-setups::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:196
|
||||||
|
msgid "On non docker-setups::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:202
|
||||||
|
msgid "If the scripts complete without errors, your instance should be updated and ready to use :)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:206
|
||||||
|
msgid "If you use nginx, ensure your funkwhale_proxy.conf file does not contain this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:208
|
||||||
|
msgid "proxy_set_header X-Forwarded-Host $host:$server_port;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:210
|
||||||
|
msgid "If you have this line present, replace it with:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:212
|
||||||
|
msgid "proxy_set_header X-Forwarded-Host $host;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/0.17.rst:214
|
||||||
|
msgid "And reload your nginx server."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,84 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:2
|
||||||
|
msgid "Backup your Funkwhale instance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:6
|
||||||
|
msgid "Before upgrading your instance, we strongly advise you to make at least a database backup. Ideally, you should make a full backup, including the database and the media files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:10
|
||||||
|
msgid "Docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:12
|
||||||
|
msgid "If you've followed the setup instructions in :doc:`../installation/docker`, here is the backup path:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:15
|
||||||
|
msgid "Multi-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:18
|
||||||
|
#: ../../admin/backup.rst:51
|
||||||
|
msgid "Backup the database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:20
|
||||||
|
msgid "On docker setups, you have to ``pg_dumpall`` in container ``funkwhale_postgres_1``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:27
|
||||||
|
#: ../../admin/backup.rst:60
|
||||||
|
msgid "Backup the media files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:29
|
||||||
|
msgid "To backup docker data volumes, as the volumes are bound mounted to the host, the ``rsync`` way would go like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:38
|
||||||
|
#: ../../admin/backup.rst:70
|
||||||
|
msgid "Backup the configuration files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:40
|
||||||
|
msgid "On docker setups, the configuration file is located at the root level:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:48
|
||||||
|
msgid "Non-docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:53
|
||||||
|
msgid "On non-docker setups, you have to ``pg_dump`` as user ``postgres``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:62
|
||||||
|
msgid "A simple way to backup your media files is to use ``rsync``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:77
|
||||||
|
msgid "You may also want to backup your proxy configuration file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/backup.rst:79
|
||||||
|
msgid "For frequent backups, you may want to use deduplication and compression to keep the backup size low. In this case, a tool like ``borg`` will be more appropriate."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,150 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:2
|
||||||
|
msgid "Management commands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:5
|
||||||
|
msgid "User management"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:7
|
||||||
|
msgid "It's possible to create, remove and update users directly from the command line."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:9
|
||||||
|
msgid "This feature is useful if you want to experiment, automate or perform batch actions that would be too repetitive through the web UI."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:12
|
||||||
|
msgid "All users-related commands are available under the ``python manage.py fw users`` namespace:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:21
|
||||||
|
msgid "Creation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:38
|
||||||
|
msgid "Additional options are available to further configure the user during creation, such as setting permissions or user quota. Please refer to the command help."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:43
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:73
|
||||||
|
msgid "Deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:93
|
||||||
|
msgid "Pruning library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:95
|
||||||
|
msgid "Because Funkwhale is a multi-user and federated audio server, we don't delete any artist, album and track objects in the database when you delete the corresponding files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:98
|
||||||
|
msgid "This is on purpose, because those objects may be referenced in user playlists, favorites, listening history or on other instances, or other users could have upload files matching linked to those entities in their own private libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:102
|
||||||
|
msgid "Therefore, Funkwhale has a really conservative approach and doesn't delete metadata when audio files are deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:105
|
||||||
|
msgid "This behaviour can be problematic in some situations though, e.g. if you imported a lot of wrongly tagged files, then deleted the files to reimport them later."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:108
|
||||||
|
msgid "To help with that, we provide a management you can run on the server and that will effectively prune you library from track, album and artist metadata that is not tied to any file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:128
|
||||||
|
msgid "The ``prune_library`` command will not delete anything by default, and only gives you an estimate of how many database objects would be affected by the pruning."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:131
|
||||||
|
msgid "Once you have reviewed the output and are comfortable with the changes, you should rerun the command with the ``--no-dry-run`` flag to disable dry run mode and actually apply the changes on the database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:137
|
||||||
|
#: ../../admin/commands.rst:169
|
||||||
|
msgid "Running this command with ``--no-dry-run`` is irreversible. Unless you have a backup, there will be no way to retrieve the deleted data."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:142
|
||||||
|
msgid "The command will exclude tracks that are favorited, included in playlists or listening history by default. If you want to include those in the pruning process as well, add the corresponding ``--ignore-favorites``, ``--ignore-playlists`` and ``--ignore-listenings`` flags."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:148
|
||||||
|
msgid "Remove obsolete files from database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:150
|
||||||
|
msgid "When importing using the :ref:`in-place method <in-place-import>`, if you move or remove in-place imported files on disk, Funkwhale will still have a reference to those files and won't be able to serve them properly."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:154
|
||||||
|
msgid "To help with that, whenever you remove or move files that were previously imported with the ``--in-place`` flag, you can run the following command::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:159
|
||||||
|
msgid "This command will loop through all the database objects that reference an in-place imported file, check that the file is accessible on disk, or delete the database object if it's not."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:163
|
||||||
|
msgid "Once you have reviewed the output and are comfortable with the changes, you should rerun the command with the ``--no-dry-run`` flag to disable dry run mode and actually delete the database objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:173
|
||||||
|
msgid "Adding tags from tracks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:175
|
||||||
|
msgid "By default, genre tags found imported files are associated with the corresponding track."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:177
|
||||||
|
msgid "While you can always associate genre information with an artist or album through the web UI, it may be tedious to do so by hand for a large number of objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:180
|
||||||
|
msgid "We offer a command you can run after an import to do this for you. It will:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:182
|
||||||
|
msgid "Find all local artists or albums with no tags"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:183
|
||||||
|
msgid "Get all the tags associated with the corresponding tracks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:184
|
||||||
|
msgid "Associate tags that are found on all tracks to the corresponding artist or album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:186
|
||||||
|
msgid "..note::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/commands.rst:190
|
||||||
|
msgid "Usage:"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,706 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:2
|
||||||
|
msgid "Instance configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:4
|
||||||
|
msgid "General configuration is achieved using two type of settings:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:6
|
||||||
|
msgid ":ref:`environment variables <environment-variables>` and"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:7
|
||||||
|
msgid ":ref:`instance settings <instance-settings>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:12
|
||||||
|
msgid "Environment variables"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:14
|
||||||
|
msgid "Those are located in your ``.env`` file, which you should have created during installation. A full list of available variables is given :ref:`below <environment-variables>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:17
|
||||||
|
msgid "Options from this file are heavily commented, and usually target lower level and technical aspects of your instance, such as database credentials."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:22
|
||||||
|
msgid "You should restart all Funkwhale processes when you change the values on environment variables::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:30
|
||||||
|
msgid "Some characters are unsafe to use in configuration variables that are URLs, such as the user and password in the database and SMTP sections. If those variables contain such characters, they must be urlencoded, for instance using the following command::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:37
|
||||||
|
msgid "See as well https://github.com/joke2k/django-environ#using-unsafe-characters-in-urls"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:42
|
||||||
|
msgid "Instance settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:44
|
||||||
|
msgid "These settings are stored in the database and do not require a restart of your instance after modification. They typically relate to higher level configuration, such your instance description, signup policy and so on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:48
|
||||||
|
msgid "You can edit those settings directly from the web application, assuming you have the required permissions. The URL is ``/manage/settings``, and you will also find a link to this page in the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:52
|
||||||
|
msgid "If you plan to use acoustid and external imports (e.g. with the YouTube backends), you should edit the corresponding settings in this interface."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:58
|
||||||
|
msgid "If you have any issue with the web application, a management interface is also available for those settings from :doc:`Django's administration interface <django>`. It's less user friendly, though, and we recommend you use the web app interface whenever possible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:63
|
||||||
|
msgid "The URL should be ``/api/admin/dynamic_preferences/globalpreferencemodel/`` (prepend your domain in front of it, of course)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:67
|
||||||
|
msgid "Configuration reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:70
|
||||||
|
msgid "Pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.FUNKWHALE_HOSTNAME:1
|
||||||
|
msgid "Hostname of your Funkwhale pod, e.g. ``mypod.audio``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.FUNKWHALE_PROTOCOL:1
|
||||||
|
msgid "Protocol end users will use to access your pod, either ``http`` or ``https``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:77
|
||||||
|
msgid "Database and redis"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DATABASE_URL:1
|
||||||
|
msgid "URL to connect to the PostgreSQL database. Examples:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DATABASE_URL:3
|
||||||
|
msgid "``postgresql://funkwhale@:5432/funkwhale``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DATABASE_URL:4
|
||||||
|
msgid "``postgresql://<user>:<password>@<host>:<port>/<database>``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DATABASE_URL:5
|
||||||
|
msgid "``postgresql://funkwhale:passw0rd@localhost:5432/funkwhale_database``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DB_CONN_MAX_AGE:1
|
||||||
|
msgid "Max time, in seconds, before database connections are closed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CACHE_URL:1
|
||||||
|
msgid "URL to your redis server. Examples:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CACHE_URL:3
|
||||||
|
msgid "``redis://<host>:<port>/<database>``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CACHE_URL:4
|
||||||
|
#: ../../docstring of config.settings.common.CELERY_BROKER_URL:7
|
||||||
|
msgid "``redis://127.0.0.1:6379/0``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CACHE_URL:5
|
||||||
|
msgid "``redis://:password@localhost:6379/0``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CACHE_URL:6
|
||||||
|
msgid "for password auth (the extra semicolon is important) - ``redis:///run/redis/redis.sock?db=0`` over unix sockets"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CACHE_URL:11
|
||||||
|
msgid "If you want to use Redis over unix sockets, you'll also need to update :attr:`CELERY_BROKER_URL`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CELERY_BROKER_URL:1
|
||||||
|
msgid "URL to celery's task broker. Defaults to :attr:`CACHE_URL`, so you shouldn't have to tweak this, unless you want to use a different one, or use Redis sockets to connect."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CELERY_BROKER_URL:5
|
||||||
|
msgid "Exemple:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.CELERY_BROKER_URL:8
|
||||||
|
msgid "``redis+socket:///run/redis/redis.sock?virtual_host=0``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:88
|
||||||
|
msgid "Accounts and registration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ACCOUNT_EMAIL_VERIFICATION_ENFORCE:1
|
||||||
|
msgid "Determine wether users need to verify their e-mail address before using the service. Enabling this can be useful to reduce spam or bots accounts, however, you'll need to configure a mail server so that your users can receive the verification e-mails, using :attr:`EMAIL_CONFIG`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ACCOUNT_EMAIL_VERIFICATION_ENFORCE:5
|
||||||
|
#: ../../docstring of config.settings.common.ACCOUNT_EMAIL_VERIFICATION_ENFORCE:7
|
||||||
|
msgid "Note that regardless of the setting value, superusers created through the command line will never require verification."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.USERS_INVITATION_EXPIRATION_DAYS:1
|
||||||
|
msgid "Expiration delay, in days, for user invitations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DISABLE_PASSWORD_VALIDATORS:1
|
||||||
|
msgid "Wether to disable password validators (length, common words, similarity with username…) used during regitration."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ACCOUNT_USERNAME_BLACKLIST:1
|
||||||
|
msgid "List of usernames that will be unavailable during registration, given as a list of strings."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AUTH_LDAP_ENABLED:1
|
||||||
|
msgid "Wether to enable LDAP authentication."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AUTH_LDAP_ENABLED:3
|
||||||
|
msgid "See :doc:`/installation/ldap` for more information."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:102
|
||||||
|
msgid "Media storage and serving"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MEDIA_URL:1
|
||||||
|
msgid "URL where media files are served. The default value should work fine on most configurations, but could can tweak this if you are hosting media files on a separate domain, or if you host Funkwhale on a non-standard port."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MEDIA_ROOT:1
|
||||||
|
msgid "Path where media files (such as album covers or audio tracks) are stored on your system. Ensure this directory actually exists."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PROXY_MEDIA:1
|
||||||
|
msgid "Wether to proxy audio files through your reverse proxy. It's recommended to keep this on, as a way to enforce access control, however, if you're using S3 storage with :attr:`AWS_QUERYSTRING_AUTH`, it's safe to disable it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EXTERNAL_MEDIA_PROXY_ENABLED:1
|
||||||
|
msgid "Wether to proxy attachment files hosted on third party pods and and servers. Keeping this to true is recommended, to reduce leaking browsing information of your users, and reduce the bandwidth used on remote pods."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ATTACHMENTS_UNATTACHED_PRUNE_DELAY:1
|
||||||
|
msgid "Delay in seconds before uploaded but unattached attachements are pruned from the system."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.REVERSE_PROXY_TYPE:1
|
||||||
|
msgid "Depending on the reverse proxy used in front of your funkwhale instance, the API will use different kind of headers to serve audio files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.REVERSE_PROXY_TYPE:4
|
||||||
|
msgid "Allowed values: ``nginx``, ``apache2``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PROTECT_FILES_PATH:1
|
||||||
|
msgid "Which path will be used to process the internal redirection to the reverse proxy **DO NOT** put a slash at the end."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PROTECT_FILES_PATH:4
|
||||||
|
msgid "You shouldn't have to tweak this."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:117
|
||||||
|
msgid "Audio acquisition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_PATH:1
|
||||||
|
msgid "The path on your server where Funkwhale can import files using :ref:`in-place import <in-place-import>`. It must be readable by the webserver and Funkwhale api and worker processes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_PATH:5
|
||||||
|
msgid "On docker installations, we recommend you use the default of ``/music`` for this value. For non-docker installation, you can use any absolute path. ``/srv/funkwhale/data/music`` is a safe choice if you don't know what to use."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_PATH:9
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_SERVE_PATH:16
|
||||||
|
msgid "This path should not include any trailing slash."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_PATH:13
|
||||||
|
msgid "You need to adapt your :ref:`reverse proxy configuration <reverse-proxy-setup>` to serve the directory pointed by ``MUSIC_DIRECTORY_PATH`` on ``/_protected/music`` URL."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_SERVE_PATH:1
|
||||||
|
msgid "Default: :attr:`MUSIC_DIRECTORY_PATH`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_SERVE_PATH:3
|
||||||
|
msgid "When using Docker, the value of :attr:`MUSIC_DIRECTORY_PATH` in your containers may differ from the real path on your host. Assuming you have the following directive in your :file:`docker-compose.yml` file::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_SERVE_PATH:11
|
||||||
|
msgid "Then, the value of :attr:`MUSIC_DIRECTORY_SERVE_PATH` should be ``/srv/funkwhale/data/music``. This must be readable by the webserver."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSIC_DIRECTORY_SERVE_PATH:14
|
||||||
|
msgid "On non-docker setup, you don't need to configure this setting."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:123
|
||||||
|
msgid "S3 Storage"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_QUERYSTRING_AUTH:1
|
||||||
|
msgid "Whether to include signatures in S3 urls, as a way to enforce access-control."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_QUERYSTRING_AUTH:3
|
||||||
|
msgid "Defaults to the inverse of :attr:`PROXY_MEDIA`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_QUERYSTRING_EXPIRE:1
|
||||||
|
msgid "Expiration delay, in seconds, of signatures generated when :attr:`AWS_QUERYSTRING_AUTH` is enabled."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_ACCESS_KEY_ID:1
|
||||||
|
msgid "Access-key ID for your S3 storage."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_SECRET_ACCESS_KEY:1
|
||||||
|
msgid "Secret access key for your S3 storage."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_STORAGE_BUCKET_NAME:1
|
||||||
|
msgid "Bucket name of your S3 storage."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_CUSTOM_DOMAIN:1
|
||||||
|
msgid "Custom domain to use for your S3 storage."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_ENDPOINT_URL:1
|
||||||
|
msgid "If you use a S3-compatible storage such as minio, set the following variable to the full URL to the storage server. Example:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_ENDPOINT_URL:4
|
||||||
|
msgid "``https://minio.mydomain.com``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_ENDPOINT_URL:5
|
||||||
|
msgid "``https://s3.wasabisys.com``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_REGION_NAME:1
|
||||||
|
msgid "If you are using Amazon S3 to serve media directly, you will need to specify your region name in order to access files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_REGION_NAME:4
|
||||||
|
#: ../../docstring of config.settings.common.THROTTLING_RATES:5
|
||||||
|
#: ../../docstring of config.settings.common.MUSICBRAINZ_HOSTNAME:4
|
||||||
|
msgid "Example:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_S3_REGION_NAME:6
|
||||||
|
msgid "``eu-west-2``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.AWS_LOCATION:1
|
||||||
|
msgid "An optional bucket subdirectory were you want to store the files. This is especially useful if you plan to use share the bucket with other services."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:136
|
||||||
|
msgid "API configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.THROTTLING_ENABLED:1
|
||||||
|
msgid "Wether to enable throttling (also known as rate-limiting). Leaving this enabled is recommended especially on public pods, to improve the quality of service."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.THROTTLING_RATES:1
|
||||||
|
msgid "Throttling rates for specific endpoints and features of the app. You can tweak this if you are encountering to severe rate limiting issues or, on the contrary, if you want to reduce the consumption on some endpoints."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.THROTTLING_RATES:7
|
||||||
|
msgid "``signup=5/d,password-reset=2/d,anonymous-reports=5/d``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ADMIN_URL:1
|
||||||
|
msgid "Path to the Django admin area."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ADMIN_URL:3
|
||||||
|
msgid "Examples:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ADMIN_URL:5
|
||||||
|
msgid "``^api/admin/``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.ADMIN_URL:6
|
||||||
|
msgid "``^api/mycustompath/``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EXTERNAL_REQUESTS_VERIFY_SSL:1
|
||||||
|
msgid "Wether to enforce HTTPS certificates verification when doing outgoing HTTP requests (typically with federation). Disabling this is not recommended."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EXTERNAL_REQUESTS_TIMEOUT:1
|
||||||
|
msgid "Default timeout for external requests."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:145
|
||||||
|
msgid "Federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.FEDERATION_OBJECT_FETCH_DELAY:1
|
||||||
|
msgid "Delay, in minutes, before a remote object will be automatically refetched when accessed in the UI."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.FEDERATION_DUPLICATE_FETCH_DELAY:1
|
||||||
|
msgid "Delay, in seconds, between two manual fetch of the same remote object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:151
|
||||||
|
msgid "Metadata"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.TAGS_MAX_BY_OBJ:1
|
||||||
|
msgid "Maximum number of tags that can be associated with an object. Extra tags will be ignored."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSICBRAINZ_HOSTNAME:1
|
||||||
|
msgid "Use this setting to change the MusicBrainz hostname, for instance to use a mirror. The hostname can also contain a port number."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSICBRAINZ_HOSTNAME:6
|
||||||
|
msgid "``mymusicbrainz.mirror``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSICBRAINZ_HOSTNAME:7
|
||||||
|
msgid "``localhost:5000``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MUSICBRAINZ_CACHE_DURATION:1
|
||||||
|
msgid "How long to cache MusicBrainz results, in seconds."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:158
|
||||||
|
msgid "Channels and podcasts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PODCASTS_RSS_FEED_REFRESH_DELAY:1
|
||||||
|
msgid "Delay, in seconds, between two fetch of RSS feeds."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PODCASTS_RSS_FEED_REFRESH_DELAY:3
|
||||||
|
msgid "Reducing this mean you'll receive new episodes faster, but will require more resources."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PODCASTS_RSS_FEED_MAX_ITEMS:1
|
||||||
|
msgid "Maximum number of RSS items to load in each podcast feed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PODCASTS_THIRD_PARTY_VISIBILITY:1
|
||||||
|
msgid "By default, only people who subscribe to a podcast RSS will have access to their episodes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PODCASTS_THIRD_PARTY_VISIBILITY:4
|
||||||
|
msgid "Switch to \"instance\" or \"everyone\" to change that."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.PODCASTS_THIRD_PARTY_VISIBILITY:6
|
||||||
|
msgid "Changing it only affect new podcasts."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:165
|
||||||
|
msgid "Subsonic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.SUBSONIC_DEFAULT_TRANSCODING_FORMAT:1
|
||||||
|
msgid "Default format for transcoding when using Subsonic API."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:170
|
||||||
|
msgid "Email configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:1
|
||||||
|
msgid "SMTP configuration for sending e-mails. Possible values:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:3
|
||||||
|
msgid "``EMAIL_CONFIG=consolemail://``: output e-mails to console (the default)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:4
|
||||||
|
msgid "``EMAIL_CONFIG=dummymail://``: disable e-mail sending completely"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:6
|
||||||
|
msgid "On a production instance, you'll usually want to use an external SMTP server:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:8
|
||||||
|
msgid "``EMAIL_CONFIG=smtp://user@:password@youremail.host:25``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:9
|
||||||
|
msgid "``EMAIL_CONFIG=smtp+ssl://user@:password@youremail.host:465``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:10
|
||||||
|
msgid "``EMAIL_CONFIG=smtp+tls://user@:password@youremail.host:587``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_CONFIG:14
|
||||||
|
msgid "If ``user`` or ``password`` contain special characters (eg. ``noreply@youremail.host`` as ``user``), be sure to urlencode them, using for example the command: ``python3 -c 'import urllib.parse; print(urllib.parse.quote_plus (\"noreply@youremail.host\"))'`` (returns ``noreply%40youremail.host``)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DEFAULT_FROM_EMAIL:1
|
||||||
|
msgid "Name and e-mail address used to send system e-mails."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DEFAULT_FROM_EMAIL:3
|
||||||
|
msgid "Default: ``Funkwhale <noreply@yourdomain>``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.DEFAULT_FROM_EMAIL:7
|
||||||
|
msgid "Both the forms ``Funkwhale <noreply@yourdomain>`` and ``noreply@yourdomain`` work."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.EMAIL_SUBJECT_PREFIX:1
|
||||||
|
msgid "Subject prefix for system e-mails."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:179
|
||||||
|
msgid "Other settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.INSTANCE_SUPPORT_MESSAGE_DELAY:1
|
||||||
|
msgid "Delay after signup, in days, before the \"support your pod\" message is shown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.FUNKWHALE_SUPPORT_MESSAGE_DELAY:1
|
||||||
|
msgid "Delay after signup, in days, before the \"support Funkwhale\" message is shown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MIN_DELAY_BETWEEN_DOWNLOADS_COUNT:1
|
||||||
|
msgid "Minimum required period, in seconds, for two downloads of the same track by the same IP or user to be recorded in statistics."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MARKDOWN_EXTENSIONS:1
|
||||||
|
msgid "List of markdown extensions to enable."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.MARKDOWN_EXTENSIONS:3
|
||||||
|
msgid "See `<https://python-markdown.github.io/extensions/>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.settings.common.LINKIFIER_SUPPORTED_TLDS:1
|
||||||
|
msgid "Additional TLDs to support with our markdown linkifier."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:188
|
||||||
|
msgid "User permissions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:190
|
||||||
|
msgid "Funkwhale's permission model works as follows:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:192
|
||||||
|
msgid "Anonymous users cannot do anything unless configured specifically;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:193
|
||||||
|
msgid "Logged-in users can use the application, but cannot do things that affect the whole instance;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:194
|
||||||
|
msgid "Superusers can do anything."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:196
|
||||||
|
msgid "To make things more granular and allow some delegation of responsibility, superusers can grant specific permissions to specific users. Available permissions are:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:200
|
||||||
|
msgid "**Manage instance-level settings**: users with this permission can edit instance settings as described in :ref:`instance-settings`;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:202
|
||||||
|
msgid "**Manage library**: users with this permission can import new music in the instance;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:204
|
||||||
|
msgid "**Manage library federation**: users with this permission can ask to federate with other instances, and accept/deny federation requests from other instances."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:207
|
||||||
|
msgid "There is no dedicated interface to manage users permissions, but superusers can login on the :doc:`Django's admin <django>` at ``/api/admin/`` and grant permissions to users at ``/api/admin/users/user/``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:212
|
||||||
|
msgid "Front-end settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:214
|
||||||
|
msgid "We offer a basic mechanism to customize the behavior and look and feel of Funkwhale's Web UI. To use any of the options below, you will need to create a custom JSON configuration file and serve it on ``https://yourinstanceurl/settings.json``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:218
|
||||||
|
msgid "On typical deployments, this url returns a 404 error, which is simply ignored."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:221
|
||||||
|
msgid "Set-up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:223
|
||||||
|
msgid "First, create the settings file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:241
|
||||||
|
msgid "Once the ``settings.json`` file is created, you will need to serve it from your reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:243
|
||||||
|
msgid "If you are using nginx, add the following snippet to your vhost configuration::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:249
|
||||||
|
msgid "On Apache, add the following to your vhost configuration::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:253
|
||||||
|
msgid "Then, reload your reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:255
|
||||||
|
msgid "At this point, visiting ``https://yourinstanceurl/settings.json`` should serve the content of the settings.json file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:260
|
||||||
|
msgid "The settings.json file must be a valid JSON file. If you have any issue, try linting the file with a tool such as `<https://github.com/zaach/jsonlint>`_ to detect potential syntax issues."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:265
|
||||||
|
msgid "Available configuration options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:267
|
||||||
|
msgid "Your :file:`settings.json` can contain the following options:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:270
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:270
|
||||||
|
msgid "Type"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:270
|
||||||
|
msgid "Example value"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:270
|
||||||
|
msgid "Description"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:272
|
||||||
|
msgid "``additionalStylesheets``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:272
|
||||||
|
msgid "Array of URLs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:272
|
||||||
|
msgid "``[\"https://test/theme.css\"]`` (default: ``[]``)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:272
|
||||||
|
msgid "A list of stylesheets URL (absolute or relative) that the web UI should load. see the \"Theming\" section below for a detailed explanation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:277
|
||||||
|
msgid "``defaultServerUrl``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:277
|
||||||
|
msgid "URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:277
|
||||||
|
msgid "``\"https://api.yourdomain.com\"`` (default: ``null``)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:277
|
||||||
|
msgid "The URL of the API server this front-end should connect with. If null, the UI will use the value of VUE_APP_INSTANCE_URL (specified during build) or fallback to the current domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:283
|
||||||
|
msgid "Missing options or options with a ``null`` value in the ``settings.json`` file are ignored."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:286
|
||||||
|
msgid "Theming"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:288
|
||||||
|
msgid "To theme your Funkwhale instance, you need:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:290
|
||||||
|
msgid "A CSS file for your theme, that can be loaded by the front-end;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:291
|
||||||
|
msgid "To update the value of ``additionalStylesheets`` in your settings.json file to point to your CSS file URL."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:308
|
||||||
|
msgid "The last step to make this work is to ensure your CSS file is served by the reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:310
|
||||||
|
msgid "On nginx, add the following snippet to your vhost config::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:316
|
||||||
|
msgid "On Apache, use the following::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:326
|
||||||
|
msgid "Once done, reload your reverse proxy, refresh Funkwhale in your web browser, and you should see a red background."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:331
|
||||||
|
msgid "You can reference external urls as well in ``additionalStylesheets``, simply use the full urls. Be especially careful with external urls as they may affect your users privacy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/configuration.rst:337
|
||||||
|
msgid "Loading additional stylesheets and CSS rules can affect the performance and usability of your instance. If you encounter issues with the interfaces and use custom stylesheets, try to disable those to ensure the issue is not caused by your customizations."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,81 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:2
|
||||||
|
msgid "Debugging Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:4
|
||||||
|
msgid "In order to track down errors its useful to provide as many information as possible. Usually pasting the logs should be sufficient, but there are some tools for some deeper debugging."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:8
|
||||||
|
msgid "Frontend Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:10
|
||||||
|
msgid "Logs and errors written by the Frontend can be accessed with Firefox. When opening the website of your Funkwhale instance, simply hit ``Ctlr + Shift + J``. Alternatively open the Firefox Menu and open the Browser Console in the developers menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:14
|
||||||
|
msgid "In the opening window you can see all the output. You can copy what you want to share or repeat the failing operation to see what error occurs."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:18
|
||||||
|
msgid "Backend Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:20
|
||||||
|
msgid "Depending on your setup you can see the logs from our API server in different ways."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:23
|
||||||
|
msgid "Docker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:25
|
||||||
|
msgid "Simply run ``docker-compose logs --tail=100 api`` If you want continuous logs, add the ``f`` flag."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:28
|
||||||
|
msgid "Quick install"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:30
|
||||||
|
msgid "To get the logs, run ``journalctl -xn -u funkwhale-server``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:33
|
||||||
|
msgid "Profiling"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:35
|
||||||
|
msgid "In order to find performance issues, its possible to run API requests with activated profiling. In order to do this, add ``funkwhale_api.common.middleware.ProfilerMiddleware`` to the environment variable ``ADDITIONAL_MIDDLEWARES_BEFORE``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:39
|
||||||
|
msgid "If enabled, simply add ``?prof`` to the request URL you want to profile. You should get an HTML-Report of the running request."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:43
|
||||||
|
msgid "Memory Tracing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/debugging.rst:45
|
||||||
|
msgid "Its possible to print memory traces for each API request to the API logs. In order to do this, add ``funkwhale_api.common.middleware.PymallocMiddleware`` to the environment variable ``ADDITIONAL_MODDLEWARES_BEFORE`` This adds a middleware which should not do anything by default. Tracing can be activated by setting ``PYTHONTRACEMALLOC=1`` This might has some inpact on the performance, please report how it goes. The Middleware now prints the top 25 memory allocations to the API logs."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,165 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:2
|
||||||
|
msgid "Using the Django Administration Backend"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:4
|
||||||
|
msgid "Funkwhale is being actively developed, and new features are being added to the frontend all the time. However, there are some administrative tasks that can only be undertaken in the Django Administration backend."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:7
|
||||||
|
msgid "Deleting items on the backend is **not** recommended. Deletions performed on the backend are permanent. If you remove something in the backend, you will need to re-add it from scratch."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:10
|
||||||
|
msgid "Accessing the Django Backend"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:12
|
||||||
|
msgid "To access your instance's backend, navigate to ``https://yourdomain/api/admin``. You will be prompted to log in. By default, the login details will be those of the priviliged user created during the setup process."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:15
|
||||||
|
msgid "Deleting Items"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:17
|
||||||
|
msgid "By default, deleting items in the front end removes the file from the server but **does not** delete associated entities such as artists, albums, and track data, meaning that they will still be viewable but no longer playable. Items deleted in this way will also still count on the instance statistics. To remove them completely, it is necessary to remove them from the database entirely using the Django Administration backend."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:20
|
||||||
|
msgid "Deleting tracks, albums, or artists will also remove them completely from any associated playlists, radios, or favorites lists. Before continuing, make sure other users on the instance are aware of the deletion(s)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:23
|
||||||
|
msgid "Deleting a Track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:25
|
||||||
|
msgid "Navigate to ``https://yourdomain/api/admin/music/track``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:26
|
||||||
|
msgid "Select the track(s) you wish to delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:27
|
||||||
|
#: ../../admin/django.rst:35
|
||||||
|
#: ../../admin/django.rst:47
|
||||||
|
#: ../../admin/django.rst:61
|
||||||
|
msgid "In the ``Action`` dropdown menu, select \"Delete Selected Items\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:28
|
||||||
|
msgid "Click on \"Go\". You will be prompted to confirm the track's deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:31
|
||||||
|
msgid "Deleting an Album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:33
|
||||||
|
#: ../../admin/django.rst:69
|
||||||
|
msgid "Navigate to ``https://yourdomain/api/admin/music/album``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:34
|
||||||
|
msgid "Select the album(s) you wish to delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:36
|
||||||
|
msgid "Click on \"Go\". You will be prompted to confirm the album's deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:40
|
||||||
|
msgid "Deleting an album will remove all tracks associated with the album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:43
|
||||||
|
msgid "Deleting an Artist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:45
|
||||||
|
msgid "Navigate to ``https://yourdomain/api/admin/music/artist``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:46
|
||||||
|
msgid "Select the artist(s) you wish to delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:48
|
||||||
|
msgid "Click on \"Go\". You will be prompted to confirm the artist's deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:52
|
||||||
|
msgid "Deleting an artist will remove all tracks and albums associated with the artist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:55
|
||||||
|
msgid "Removing a Followed Library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:57
|
||||||
|
msgid "In Funkwhale, unfollowing a library will leave the items in place but inaccessible. To completely remove them:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:59
|
||||||
|
msgid "Navigate to ``https://yourdomain/api/admin/music/library/``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:60
|
||||||
|
msgid "Tick the box next to the library you wish to remove"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:62
|
||||||
|
msgid "Click on \"Go\". You will be prompted to confirm the library's deletion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:65
|
||||||
|
msgid "Adding Missing Album Art"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:67
|
||||||
|
msgid "Sometimes album art can fail to appear despite music being properly tagged. When this happens, it is possible to replace the missing art."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:70
|
||||||
|
msgid "Search for and select the album in question"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:71
|
||||||
|
msgid "Find the item marked \"Cover\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:72
|
||||||
|
msgid "Click \"Browse\" and select the file from your computer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:73
|
||||||
|
msgid "Click \"Save\" to confirm the changes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:75
|
||||||
|
msgid "The album art will now be present on the frontend."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/django.rst:79
|
||||||
|
msgid "You can also clear currently loaded album art by checking the checkbox next to the current item and selecting \"Clear\""
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,161 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:2
|
||||||
|
msgid "Using external storages to store Funkwhale content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:4
|
||||||
|
msgid "By default, Funkwhale will store user-uploaded and related media such as audio files, transcoded files, avatars and album covers on a server directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:7
|
||||||
|
msgid "However, for bigger instances or more complex deployment scenarios, you may want to use distributed or external storages."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:11
|
||||||
|
msgid "S3 and S3-compatible servers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:15
|
||||||
|
msgid "This feature was released in Funkwhale 0.19 and is still considered experimental. Please let us know if you see anything unusual while using it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:18
|
||||||
|
msgid "Funkwhale supports storing media files Amazon S3 and compatible implementations such as Minio or Wasabi."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:20
|
||||||
|
msgid "In this scenario, the content itself is stored in the S3 bucket. Non-sensitive media such as album covers or user avatars are served directly from the bucket. However, audio files are still served by the reverse proxy, to enforce proper authentication."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:24
|
||||||
|
msgid "To enable S3 on Funkwhale, add the following environment variables::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:38
|
||||||
|
msgid "Then, edit your nginx configuration. On docker setups, the file is located at ``/srv/funkwhale/nginx/funkwhale.template``, and at ``/etc/nginx/sites-available/funkwhale.template`` on non-docker setups."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:41
|
||||||
|
msgid "Replace the ``location /_protected/media`` block with the following::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:50
|
||||||
|
msgid "Add your S3 store URL to the ``img-src`` and ``media-src`` headers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:56
|
||||||
|
msgid "Then restart Funkwhale and nginx."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:58
|
||||||
|
msgid "From now on, media files will be stored on the S3 bucket you configured. If you already had media files before configuring the S3 bucket, you also have to move those on the bucket by hand (which is outside the scope of this guide)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:64
|
||||||
|
msgid "At the moment, we do not support S3 when using Apache as a reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:68
|
||||||
|
msgid "If you are attempting to integrate your docker deployment with an existing nginx webserver, such as the one provided by `linuxserver/swag <https://docs.linuxserver.io/images/docker-swag>`_ (formerly `linuxserver/letsencrypt <https://docs.linuxserver.io/images/docker-swag#migrating-from-the-old-linuxserver-letsencrypt-image>`_), you may run into an issue where an additional ``Content-Security-Policy`` header appears in responses from the server, without the newly included S3 URL values."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:74
|
||||||
|
msgid "In this case, you can suppress the extraneous ``Content-Security-Policy`` header by specifying it in a ``proxy_hide_header`` `directive <http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header>`_ in the ``location /`` block."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:89
|
||||||
|
msgid "Serving audio files directly from the bucket"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:91
|
||||||
|
msgid "Depending on your setup, you may want to serve audio files directly from the S3 bucket instead of proxying them through Funkwhale, e.g to reduce the bandwidth consumption on your server, or get better performance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:95
|
||||||
|
msgid "You can achieve that by adding ``PROXY_MEDIA=false`` to your ``.env`` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:97
|
||||||
|
msgid "When receiving a request on the stream endpoint, Funkwhale will check for authentication and permissions, then issue a 302 redirect to the file URL in the bucket."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:100
|
||||||
|
msgid "This URL is actually be visible by the client, but contains a signature valid only for one hour, to ensure no one can reuse this URL or share it publicly to distribute unauthorized content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:105
|
||||||
|
msgid "If you are using Amazon S3, you will need to set your ``AWS_S3_REGION_NAME`` in the ``.env`` file to use this feature."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:110
|
||||||
|
msgid "Since some Subsonic clients don't support 302 redirections, Funkwhale will ignore the ``PROXY_MEDIA`` setting and always proxy file when accessed through the Subsonic API."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:115
|
||||||
|
msgid "Securing your S3 bucket"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:117
|
||||||
|
msgid "It's important to ensure your the root of your bucket doesn't list its content, which is the default on many S3 servers. Otherwise, anyone could find out the true URLs of your audio files and bypass authentication."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:121
|
||||||
|
msgid "To avoid that, you can set the following policy on your bucket::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:144
|
||||||
|
msgid "If you are using ``awscli``, you can store this policy in a ``/tmp/policy`` file, and apply it using the following command::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:150
|
||||||
|
msgid "Troubleshooting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:153
|
||||||
|
msgid "No Resolver Found"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:155
|
||||||
|
msgid "Depending on your setup, you may experience the following issue when trying to stream music directly from your S3-compatible store."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:162
|
||||||
|
msgid "This happpens when the nginx config is unable to use your server's DNS resolver. This issue is still under investigation, but in the meantime can be worked around by specifying a resolver in your ``funkwhale.template`` under the ``location ~/_protected/media/(.+)`` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:176
|
||||||
|
msgid "No Images or Media Loading"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:178
|
||||||
|
msgid "If you are serving media from an S3-compatible store, you may experience an issue where nothing loads in the front end. The error logs in your browser may show something like the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:187
|
||||||
|
msgid "This happens when your S3 store isn't defined in the ``Content-Security-Policy`` headers in your Nginx files. To resolve the issue, add the base URL of your S3 store to the ``img-src`` and ``media-src`` headers and reload nginx."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:196
|
||||||
|
msgid "Broken Images in Audio Player On Page Reload"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/external-storages.rst:198
|
||||||
|
msgid "If you are serving media directly from an S3-compatible store, you may find that images in the queue and the player won't load after the page is refreshed. This happens if the generated URL has expired and the authorization is no longer valid. You can extend the expiry time using the following setting in your ``.env`` file:"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,273 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:2
|
||||||
|
msgid "Importing music from the server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:4
|
||||||
|
msgid "Funkwhale can import music files saved on the server assuming they are readable by the Funkwhale application. Your music files should contain at least ``artist``, ``album`` and ``title`` tags, but we recommend you tag extensively using a proper tool, such as Beets or Musicbrainz Picard."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:11
|
||||||
|
msgid "Funkwhale supports two different import modes:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:13
|
||||||
|
msgid "copy(default): files are copied into Funkwhale's internal storage. This means importing a 1GB library will result in the same amount of space being used by Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:14
|
||||||
|
msgid ":ref:`in-place <in-place-import>` (with ``--in-place`` flag): files are referenced in Funkwhale's DB but not copied or touched in anyway. This is useful if you have a huge library, or one that is updated by an external tool such as Beets."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:16
|
||||||
|
msgid "Regardless of the mode you choose, follow the below steps to import music, assuming your files are located in ``/srv/funkwhale/data/music``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:27
|
||||||
|
msgid "You have to create a library in the Web UI to get your library ID. Simply visit https://yourdomain/content/libraries/ to create one."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:30
|
||||||
|
msgid "Library IDs are part of the library url or sharing link. For example, the library ID of https://funkwhale.instance/content/libraries/769a2ae3-eb3d-4aff-9f94-2c4d80d5c2d1, is 769a2bc3-eb1d-4aff-9f84-2c4d80d5c2d1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:35
|
||||||
|
msgid "You can use only the first characters of the ID when calling the command, like that: ``export LIBRARY_ID=\"769a2bc3\"``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:38
|
||||||
|
msgid "When you use docker, ``/srv/funkwhale/data/music`` is mounted from the host to the ``/music`` directory on the container:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:46
|
||||||
|
msgid "When you installed Funkwhale via ansible, you need to call a script instead of Python, and the folder path must be adapted accordingly:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:54
|
||||||
|
msgid "The import command supports several options, check the help for details::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:61
|
||||||
|
msgid "We recommend tagging your music collection using `Picard <http://picard.musicbrainz.org/>`_ to have the best quality metadata."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:65
|
||||||
|
msgid "This command is idempotent, meaning you can run it multiple times on the same files and already imported files are simply skipped."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:71
|
||||||
|
msgid "At the moment, only Flac, OGG/Vorbis and MP3 or AIFF files with ID3 tags are supported."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:77
|
||||||
|
msgid "In-place import"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:79
|
||||||
|
msgid "By default, the CLI-importer will copy imported files to Funkwhale's internal storage. This means importing a 1GB library will result in the same amount of space being used by Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:83
|
||||||
|
msgid "While this behaviour has some benefits (easier backups and configuration), it is not always the best choice, especially if you have a huge library to import and don't want to double your disk usage."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:88
|
||||||
|
msgid "The CLI importer supports an additional ``--in-place`` option through which Funkwhale will store file paths rather than file content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:92
|
||||||
|
msgid "Structure"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:94
|
||||||
|
msgid "Because imported files are not managed by Funkwhale, we offer additional configuration options to ensure the webserver can serve them properly:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:98
|
||||||
|
msgid ":data:`MUSIC_DIRECTORY_PATH <config.settings.common.MUSIC_DIRECTORY_PATH>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:99
|
||||||
|
msgid ":data:`MUSIC_DIRECTORY_SERVING_PATH <config.settings.common.MUSIC_DIRECTORY_SERVE_PATH>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:101
|
||||||
|
msgid "We recommend you symlink all your music directories into ``/srv/funkwhale/data/music`` and run the `import_files` command from that directory. This will make it possible to use multiple music directories without any additional configuration on the webserver side."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:106
|
||||||
|
msgid "For instance, if you have an NFS share with your music mounted at ``/media/mynfsshare``, you can create a symlink like this::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:112
|
||||||
|
msgid "And import music from the share::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:118
|
||||||
|
msgid "Docker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:120
|
||||||
|
msgid "Docker setups require a bit more work, because while the ``/srv/funkwhale/data/music`` is mounted in containers, symlinked directories are not."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:124
|
||||||
|
msgid "To fix that, you can use bind mounts instead of symbolic links, as they replicate the source directory tree. With the previous NFS share, use this command::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:130
|
||||||
|
msgid "If you want to go with symlinks, ensure each symlinked directory is mounted as a volume as well as in your ``docker-compose.yml`` file::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:149
|
||||||
|
msgid "Metadata updates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:151
|
||||||
|
msgid "When doing an import with in ``in-place`` mode, the importer will also check and update existing entries found in the database. For instance, if the ID3 Title tag of an existing song was updated since the last scan, Funkwhale picks up the new title. The following fields can be updated this way:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:156
|
||||||
|
msgid "Track mbid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:157
|
||||||
|
msgid "Track title"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:158
|
||||||
|
msgid "Track position and disc number"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:159
|
||||||
|
msgid "Track license and copyright"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:160
|
||||||
|
msgid "Track genre (`from version 1.2 <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1225>`_)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:161
|
||||||
|
msgid "Album cover"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:162
|
||||||
|
msgid "Album title"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:163
|
||||||
|
msgid "Album mbid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:164
|
||||||
|
msgid "Album release date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:165
|
||||||
|
msgid "Artist name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:166
|
||||||
|
msgid "Artist mbid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:167
|
||||||
|
msgid "Album artist name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:168
|
||||||
|
msgid "Album artist mbid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:170
|
||||||
|
msgid "Changes in artist name can lead to multiple artists with the same name in the database, `this is a known issue <https://dev.funkwhale.audio/funkwhale/funkwhale/-/issues/1318>`_ and can be remedied by adding mbids."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:175
|
||||||
|
msgid "React to filesystem events with ``--watch``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:177
|
||||||
|
msgid "If you have a really big library or update it regularly, running the ``import_files`` command by hand may not be practical. For this use case, the ``import_files`` command supports a ``--watch`` flag through which it observes filesystem events instead of performing a full import."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:183
|
||||||
|
msgid "File creation, move, update and removal are handled when ``--watch`` is provided:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:186
|
||||||
|
msgid "Files created in the watched directory are imported immediately"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:187
|
||||||
|
msgid "If using ``in-place`` mode, files updates trigger a metadata update on the corresponding entries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:188
|
||||||
|
msgid "If using ``in-place`` mode, files that are moved and known by Funkwhale will see their path updated in Funkwhale's DB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:189
|
||||||
|
msgid "If using ``in-place`` mode, files that are removed and known by Funkwhale will be removed from Funkwhale's DB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:192
|
||||||
|
msgid "Pruning dangling metadata with ``--prune``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:194
|
||||||
|
msgid "Funkwhale is, by design, conservative with music metadata in its database. If you remove a file from Funkwhale's DB, the corresponding artist, album and track object won't be deleted by default."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:198
|
||||||
|
msgid "If you want to prune dangling metadata from the database once the ``import_files`` command is over, simply add the ``--prune`` flag. This also works in with ``--watch``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:202
|
||||||
|
msgid "Album covers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:204
|
||||||
|
msgid "Whenever possible, Funkwhale obtains album covers for tracks, with the following precedence:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:207
|
||||||
|
msgid "The cover embedded in the audio files themeselves, if any (Flac/MP3 only)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:208
|
||||||
|
msgid "Use a cover.jpg or a cover.png file from the imported track directory, if any"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:209
|
||||||
|
msgid "Fetch cover art from musicbrainz, assuming the file is tagged correctly"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:212
|
||||||
|
msgid "Getting demo tracks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:214
|
||||||
|
msgid "If you do not have any music on your server but want to test the import process, you can call the following methods to download a few albums licenced under creative commons (courtesy of Jamendo):"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/importing-music.rst:226
|
||||||
|
msgid "This will download a bunch of zip archives (one per album) under the ``data/music`` directory and unzip their content."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,37 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/index.rst:2
|
||||||
|
msgid "Administrator Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/index.rst:4
|
||||||
|
msgid "This documentation is targeted at administrators of instances. This typically refers to the person(s) responsible for running the server and managing the software on a technical level."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/index.rst:9
|
||||||
|
msgid "Setup Guides"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/index.rst:25
|
||||||
|
msgid "Administration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/index.rst:37
|
||||||
|
msgid "Troubleshooting"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,113 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:2
|
||||||
|
msgid "LDAP configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:4
|
||||||
|
msgid "LDAP is a protocol for providing directory services, in practice allowing a central authority for user login information."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:6
|
||||||
|
msgid "Funkwhale supports LDAP through the Django LDAP authentication module and by setting several configuration options."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:10
|
||||||
|
msgid "Note that LDAP-based users cannot change their password inside the app."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:13
|
||||||
|
msgid "Dependencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:15
|
||||||
|
msgid "LDAP support requires some additional dependencies to enable. On the OS level both ``libldap2-dev`` and ``libsasl2-dev`` are required, and the Python modules ``python-ldap`` and ``python-django-auth-ldap`` must be installed. These dependencies are all included in the ``requirements.*`` files so deploying with those will install these dependencies by default. However, they are not required unless LDAP support is explicitly enabled."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:18
|
||||||
|
msgid "Environment variables"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:20
|
||||||
|
msgid "LDAP authentication is configured entirely through the environment variables. The following options enable the LDAP features:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:23
|
||||||
|
msgid "Basic features"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:25
|
||||||
|
msgid "``LDAP_ENABLED``: Set to ``True`` to enable LDAP support. Default: ``False``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:26
|
||||||
|
msgid "``LDAP_SERVER_URI``: LDAP URI to the authentication server, e.g. ``ldap://my.host:389``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:27
|
||||||
|
msgid "``LDAP_BIND_DN``: LDAP user DN to bind as to perform searches."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:28
|
||||||
|
msgid "``LDAP_BIND_PASSWORD``: LDAP user password for bind DN."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:29
|
||||||
|
msgid "``LDAP_SEARCH_FILTER``: The LDAP user filter, using ``{0}`` as the username placeholder, e.g. ``(|(cn={0})(mail={0}))``; uses standard LDAP search syntax. Default: ``(uid={0})``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:30
|
||||||
|
msgid "``LDAP_START_TLS``: Set to ``True`` to enable LDAP StartTLS support. Default: ``False``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:31
|
||||||
|
msgid "``LDAP_ROOT_DN``: The LDAP search root DN, e.g. ``dc=my,dc=domain,dc=com``; supports multiple entries in a space-delimited list, e.g. ``dc=users,dc=domain,dc=com dc=admins,dc=domain,dc=com``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:32
|
||||||
|
msgid "``LDAP_USER_ATTR_MAP``: A mapping of Django user attributes to LDAP values, e.g. ``first_name:givenName, last_name:sn, username:cn, email:mail``. Default: ``first_name:givenName, last_name:sn, username:cn, email:mail``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:33
|
||||||
|
msgid "``AUTH_LDAP_BIND_AS_AUTHENTICATING_USER``: Controls whether direct binding is used. Default: ``False``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:36
|
||||||
|
msgid "Group features"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:38
|
||||||
|
msgid "For details on these options, see the `Django documentation <https://django-auth-ldap.readthedocs.io/en/latest/groups.html>`_. Group configuration is disabled unless an ``LDAP_GROUP_DN`` is set. This is an advanced LDAP feature and most users should not need to configure these settings."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:40
|
||||||
|
msgid "``LDAP_GROUP_DN``: The LDAP group search root DN, e.g. ``ou=groups,dc=domain,dc=com``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:41
|
||||||
|
msgid "``LDAP_GROUP_FILTER``: The LDAP group filter, e.g. ``(objectClass=groupOfNames)``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:42
|
||||||
|
msgid "``LDAP_REQUIRE_GROUP``: A group users must be a part of to authenticate, e.g. ``cn=enabled,ou=groups,dc=domain,dc=com``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/ldap.rst:43
|
||||||
|
msgid "``LDAP_DENY_GROUP``: A group users must not be a part of to authenticate, e.g. ``cn=disabled,ou=groups,dc=domain,dc=com``."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,122 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:2
|
||||||
|
msgid "Migrating to a New Server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:4
|
||||||
|
msgid "Sometimes, it may be necessary or desirable to migrate your existing Funkwhale setup to a new server. This can be helpful if you need to boost resources or if you wish to use a different hosting platform."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:9
|
||||||
|
msgid "In this guide, the existing Funkwhale setup is called the origin server, and the new setup the destination server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:12
|
||||||
|
msgid "Requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:14
|
||||||
|
msgid "To get started with your new setup, you will need to have the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:17
|
||||||
|
msgid "`rsync <https://linux.die.net/man/1/rsync>`_ installed on the **destination** server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:18
|
||||||
|
msgid "SSH access set up between the two servers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:21
|
||||||
|
msgid "Non-Docker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:23
|
||||||
|
msgid "On the destination server, run through the :doc:`installation steps<../installation/debian>` with the exception of the following points:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:25
|
||||||
|
msgid "Do not enable the extensions ``unaccent`` and ``citext`` when setting up the database;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:26
|
||||||
|
msgid "Do not initialize the database by applying the migrate command;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:27
|
||||||
|
msgid "Do not create an admin account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:29
|
||||||
|
msgid "Stop all funkwhale related services on the destination server:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:35
|
||||||
|
#: ../../admin/migration.rst:75
|
||||||
|
msgid "On the origin server, create a database backup:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:41
|
||||||
|
msgid "On the destination server, use rsync to fetch the contents of ``/srv/funwkhale/data/media/music/`` and ``/srv/funkwhale/data/media/`` from the origin server, as well as the database dump and the ``.env`` file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:54
|
||||||
|
msgid "On the destination server, restore the database dump:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:60
|
||||||
|
msgid "Once the database has been restored, follow the database migration steps from the non-docker installation guide to complete the installation on the destination server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:62
|
||||||
|
msgid "Ensure that all DNS changes have been made and start the services:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:69
|
||||||
|
msgid "Docker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:71
|
||||||
|
msgid "On the destination server, run through the :doc:`installation steps<../installation/docker>` but skip the ``docker-compose run --rm api python manage.py migrate`` step."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:73
|
||||||
|
msgid "Stop all funkwhale related containers on the destination server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:81
|
||||||
|
msgid "On the destination server, use rsync to fetch the contents of ``/srv/funwkhale/data/media/music`` and ``/srv/funkwhale/data/media`` from the origin server, as well as the database dump nd the ``.env`` file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:94
|
||||||
|
msgid "Initialize the Postgres container with the funkwhale database and its user. For easier, we create a db init dump file than we import in the postgres container:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:105
|
||||||
|
msgid "After that, we can restore the database dump:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:111
|
||||||
|
msgid "Once the database has been restored, run the migrations following the docker installation guide."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/migration.rst:113
|
||||||
|
msgid "Ensure that all DNS changes have been made and start the services."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,89 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:2
|
||||||
|
msgid "Message Rewrite Facility (MRF)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:4
|
||||||
|
msgid "Funkwhale includes a feature that mimics `Pleroma's Message Rewrite Facility <https://docs-develop.pleroma.social/backend/configuration/mrf/>`_. Using the MRF, instance admins can write and configure custom and automated moderation rules that couldn't be implemented otherwise using :doc:`our other built-in moderation tools <../moderator/index>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:9
|
||||||
|
msgid "Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:11
|
||||||
|
msgid "The MRF is a pluggable system that will process messages and forward those to the list of registered policies, in turn. Each policy can mutate the message, leave it as is, or discard it entirely."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:14
|
||||||
|
msgid "Some of our built-in moderation tools are actually implemented as a MRF policy, e.g:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:16
|
||||||
|
msgid "Allow-list, when checking incoming messages (`code <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/moderation/mrf_policies.py>`__)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:17
|
||||||
|
msgid "Domain and user blocking, when checking incoming messages (`code <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/mrf_policies.py>`__)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:21
|
||||||
|
msgid "While Pleroma MRF policies can also affect outgoing messages, this is not supported yet in Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:25
|
||||||
|
msgid "Disclaimer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:27
|
||||||
|
msgid "Writing custom MRF can impact negatively the performance and stability of your pod, as well as message delivery. Your policy will be called everytime a message is delivered, so ensure you don't execute any slow operation here."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:31
|
||||||
|
msgid "Please note that the Funkwhale developers consider custom MRF policy modules to fall under the purview of the AGPL. As such, you are obligated to release the sources to your custom MRF policy modules upon request."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:34
|
||||||
|
msgid "Writing your first MRF policy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:36
|
||||||
|
msgid "MRF Policies are written as Python 3 functions that take at least one ``payload`` parameter. This payload is the raw ActivityPub message, received via HTTP, after the HTTP signature check."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:39
|
||||||
|
msgid "In the example below we write a policy that discards all Follow requests from listed domains:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:66
|
||||||
|
msgid "This code must be stored in a Funkwhale plugin. To create one, just execute the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:89
|
||||||
|
msgid "Once you have a Funkwhale plugin, simply put your MRF policy code inside a ``mrf_policies.py`` file whithin the plugin directory. Then enable the plugin in your ``.env`` by adding its name to the coma-separated list of ``FUNKWHALE_PLUGINS`` (add the variable if it's not there)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:95
|
||||||
|
msgid "Testing a MRF policy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/mrf.rst:97
|
||||||
|
msgid "To make the job of writing and debugging MRF policies easier, we provide a management command:"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,61 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:2
|
||||||
|
msgid "Optimizing your Funkwhale instance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:4
|
||||||
|
msgid "Depending on your requirements, you may want to reduce as much as possible Funkwhale's memory footprint."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:8
|
||||||
|
msgid "Reduce workers concurrency"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:10
|
||||||
|
msgid "Asynchronous tasks are handled by a celery worker, which will by default spawn a worker process per CPU available. This can lead to a higher memory usage."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:14
|
||||||
|
msgid "You can control this behavior using the ``--concurrency`` flag. For instance, setting ``--concurrency=1`` will spawn only one worker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:17
|
||||||
|
msgid "This flag should be appended after the ``celery -A funkwhale_api.taskapp worker`` command in your :file:`docker-compose.yml` file if your using Docker, or in your :file:`/etc/systemd/system/funkwhale-worker.service` otherwise."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:23
|
||||||
|
msgid "Reducing concurrency comes at a cost: asynchronous tasks will be processed more slowly. However, on small instances, this should not be an issue."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:28
|
||||||
|
msgid "Switch from prefork to solo pool"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:30
|
||||||
|
msgid "Using a different pool implementation for Celery tasks may also help."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:32
|
||||||
|
msgid "Using the ``solo`` pool type should reduce your memory consumption. You can control this behavior using the ``--pool=solo`` flag."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/optimization.rst:35
|
||||||
|
msgid "This flag should be appended after the ``celery -A funkwhale_api.taskapp worker`` command in your :file:`docker-compose.yml` file if you're using Docker, or in your :file:`/etc/systemd/system/funkwhale-worker.service` otherwise."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,290 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:2
|
||||||
|
msgid "Troubleshooting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:4
|
||||||
|
msgid "Various errors and issues can arise on your Funkwhale instance, caused by configuration errors, deployment/environment specific issues, or bugs in the software itself."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:7
|
||||||
|
msgid "On this document, you'll find:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:9
|
||||||
|
msgid "Tools and commands you can use to better understand the issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:10
|
||||||
|
msgid "A list of common pitfalls and errors and how to solve them"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:11
|
||||||
|
msgid "A collection of links and advice to get help from the community and report new issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:14
|
||||||
|
msgid "Diagnose problems"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:16
|
||||||
|
msgid "Funkwhale is made of several components, each one being a potential cause for failure. Having an even basic overview of Funkwhale's technical architecture can help you understand what is going on. You can refer to :doc:`the technical architecture <../developers/architecture>` for that."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:19
|
||||||
|
msgid "Problems usually fall into one of those categories:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:21
|
||||||
|
msgid "**Frontend**: Funkwhale's interface is not loading, not behaving as expected, music is not playing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:22
|
||||||
|
msgid "**API**: the interface do not display any data or show errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:23
|
||||||
|
msgid "**Import**: uploaded/imported tracks are not imported correctly or at all"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:24
|
||||||
|
msgid "**Federation**: you cannot contact other Funkwhale servers, access their library, play federated tracks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:25
|
||||||
|
msgid "**Everything else**"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:27
|
||||||
|
msgid "Each category comes with its own set of diagnose tools and/or commands we will detail below. We'll also give you simple steps for each type of problem. Please try those to see if it fix your issues. If none of those works, please report your issue on our issue tracker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:33
|
||||||
|
msgid "To get detailed log messages, set the environment variable ``LOGLEVEL=debug``. If you are using the docker setup you can configure this in the ``.env`` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:37
|
||||||
|
msgid "Backend issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:39
|
||||||
|
#: ../../admin/troubleshooting.rst:98
|
||||||
|
#: ../../admin/troubleshooting.rst:109
|
||||||
|
msgid "Diagnostic tools:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:42
|
||||||
|
msgid "Reverse proxy logs:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:42
|
||||||
|
msgid "Apache logs should be available at :file:`/var/log/apache/access.log` and :file:`/var/log/apache/error.log`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:43
|
||||||
|
msgid "Nginx logs should be available at :file:`/var/log/nginx/access.log` and :file:`/var/log/nginx/error.log`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:46
|
||||||
|
#: ../../admin/troubleshooting.rst:112
|
||||||
|
msgid "API logs:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:45
|
||||||
|
#: ../../admin/troubleshooting.rst:112
|
||||||
|
msgid "Docker setup: ``docker-compose logs -f --tail=50 api`` (remove the ``--tail`` flag to get the full logs)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:46
|
||||||
|
#: ../../admin/troubleshooting.rst:113
|
||||||
|
msgid "Non-docker setup: ``journalctl -xn -u funkwhale-server``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:50
|
||||||
|
msgid "If you edit your .env file to test a new configuration, you have to restart your services to pick up the changes:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:52
|
||||||
|
msgid "Docker setup: ``docker-compose up -d``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:53
|
||||||
|
msgid "Non-docker setup: ``systemctl restart funkwhale.target``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:56
|
||||||
|
#: ../../admin/troubleshooting.rst:119
|
||||||
|
msgid "Common problems"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:59
|
||||||
|
msgid "Instance works properly, but audio files are not served (404 error)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:61
|
||||||
|
msgid "If you're using docker, ensure the ``MEDIA_ROOT`` variable is commented in your env file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:62
|
||||||
|
msgid "Ensure the ``_protected/media`` block points toward the path where media files are stored (``/srv/funkwhale/data/media``, by default)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:63
|
||||||
|
msgid "If you're using in-place import, ensure :data:`MUSIC_DIRECTORY_PATH <config.settings.common.MUSIC_DIRECTORY_PATH>`, :data:`MUSIC_DIRECTORY_SERVE_PATH <config.settings.common.MUSIC_DIRECTORY_SERVE_PATH>` and :data:`REVERSE_PROXY_TYPE <config.settings.common.REVERSE_PROXY_TYPE>` are configured properly, and that the files are readable by the webserver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:66
|
||||||
|
msgid "Weakref error when running ``python manage.py <command>``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:68
|
||||||
|
msgid "On Python <3.6, you may see this kind of errors when running commands like ``python manage.py migrate``::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:75
|
||||||
|
msgid "This is caused by a bug in Python (cf https://github.com/celery/celery/issues/3818), and is not affecting in any way the command you execute. You can safely ignore this error."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:79
|
||||||
|
msgid "``Your models have changes that are not yet reflected in a migration`` warning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:81
|
||||||
|
msgid "When running ``python manage.py migrate`` (both in docker or non-docker), you may end-up with this::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:91
|
||||||
|
msgid "This warning can be safely ignored. You should not run the suggested ``manage.py makemigrations`` command."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:94
|
||||||
|
msgid "File import issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:96
|
||||||
|
msgid "Unless you are using the CLI to import files, imports are send as tasks in a queue to a celery worker that will process them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:102
|
||||||
|
#: ../../admin/troubleshooting.rst:116
|
||||||
|
msgid "Celery worker logs:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:101
|
||||||
|
#: ../../admin/troubleshooting.rst:115
|
||||||
|
msgid "Docker setup: ``docker-compose logs -f --tail=50 celeryworker`` (remove the ``--tail`` flag to get the full logs)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:102
|
||||||
|
#: ../../admin/troubleshooting.rst:116
|
||||||
|
msgid "Non-docker setup: ``journalctl -xn -u funkwhale-worker``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:105
|
||||||
|
msgid "Federation issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:107
|
||||||
|
msgid "Received federations messages are sent to a dedicated task queue and processed asynchronously by a celery worker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:122
|
||||||
|
msgid "I have no access to another instance library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:124
|
||||||
|
msgid "Check if it works with the demo library (library@demo.funkwhale.audio)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:125
|
||||||
|
msgid "Check if the remote library received your follow request and approved it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:126
|
||||||
|
msgid "Trigger a scan via the interface"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:127
|
||||||
|
msgid "Have a look in the celery logs for potential errors during the scan"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:130
|
||||||
|
msgid "Other problems"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:132
|
||||||
|
msgid "It's a bit hard to give targeted advice about problems that do not fit in the previous categories. However, we can recommend to:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:134
|
||||||
|
msgid "Try to identify the scope of the issue and reproduce it reliably"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:135
|
||||||
|
msgid "Ensure your instance is configured as detailed in the installation documentation, and if you did not use the default values, to check what you changed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:137
|
||||||
|
msgid "To read the .env file carefully, as most of the options are described in the comments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:141
|
||||||
|
msgid "Report an issue or get help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:143
|
||||||
|
msgid "Well be more than happy to help you to debug installation and configuration issues. The main channel for receiving support about your Funkwhale installation is the `#funkwhale-troubleshooting:matrix.org <https://matrix.to/#/#funkwhale-troubleshooting:matrix.org>`_ Matrix channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:146
|
||||||
|
msgid "Before asking for help, we'd really appreciate if you took the time to go through this document and try to diagnose the problem yourself. But if you don't find anything relevant or don't have the time, we'll be there for you!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:149
|
||||||
|
msgid "Here are a few recommendations on how to structure and what to include in your help requests:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:151
|
||||||
|
msgid "Give us as much context as possible about your installation (OS, version, Docker/non-docker, reverse-proxy type, relevant logs and errors, etc.)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:152
|
||||||
|
msgid "Including screenshots or small gifs or videos can help us considerably when debugging front-end issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:154
|
||||||
|
msgid "You can also open issues on our `issue tracker <https://dev.funkwhale.audio/funkwhale/funkwhale/issues>`_. Please have a quick look for similar issues before doing that, and use the issue tracker only to report bugs, suggest enhancements (both in the software and the documentation) or new features."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:159
|
||||||
|
msgid "If you ever need to share screenshots or urls with someone else, ensure those do not include your personal token. This token is binded to your account and can be used to connect and use your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:162
|
||||||
|
msgid "Urls that includes your token looks like: ``https://your.instance/api/v1/uploads/42/serve/?jwt=yoursecrettoken``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:165
|
||||||
|
msgid "Improving this documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/troubleshooting.rst:167
|
||||||
|
msgid "If you feel like something should be improved in this document (and in the documentation in general), feel free to :doc:`contribute to the documentation <../documentation/creating>`. If you're not comfortable contributing or would like to ask somebody else to do it, feel free to :doc:`request a change in documentation <../documentation/identifying>`."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,98 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:2
|
||||||
|
msgid "Uninstall Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:4
|
||||||
|
msgid "The following instructions helps you remove Funkwhale from your server, for instance after migrating to another server, or if you do not want to use Funkwhale anymore."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:8
|
||||||
|
msgid "The following instructions cannot be undone and might result in loss of data. If necessary, please make a backup of your server following the :doc:`backup instructions<backup>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:10
|
||||||
|
msgid "Especially, it must be noted that:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:12
|
||||||
|
#: ../../admin/uninstall.rst:81
|
||||||
|
msgid "Remote content hosted on an S3 or S3-compatible server will not be removed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:13
|
||||||
|
msgid "In place imports will not be removed, provided they are located outside ``/srv/funkwhale/``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:17
|
||||||
|
msgid "These instructions apply only for the manual installation on Debian or Arch Linux. It matches the default setup."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:19
|
||||||
|
msgid "First, stop the all funkwhale related services:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:25
|
||||||
|
msgid "Remove the reverse proxy configuration data and reload the reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:27
|
||||||
|
msgid "If you are using nginx:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:37
|
||||||
|
msgid "If you are using Apache2:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:46
|
||||||
|
msgid "Remove the systemd services:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:62
|
||||||
|
msgid "Then, remove the database:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:69
|
||||||
|
msgid "Finally, remove the user ``funkwhale`` and all funkwhale related data, including the server and the data:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:77
|
||||||
|
msgid "The last command will remove ``/srv/funkwhale/``. On the default setup, this directory contains all user data. Please proceed cautiously!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:79
|
||||||
|
msgid "However, it must be noted that:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:82
|
||||||
|
msgid "In place imports will not be removed, provided they are not located in the directory ``/srv/funkwhale/``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:86
|
||||||
|
msgid "If relevant, you might also want to:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:88
|
||||||
|
msgid "remove the SSL certificates;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/uninstall.rst:89
|
||||||
|
msgid "remove the corresponding DNS entries."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,135 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:2
|
||||||
|
msgid "Upgrading your Funkwhale instance to a newer version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:6
|
||||||
|
msgid "Before upgrading your instance, we strongly advise you to make at least a database backup. Ideally, you should make a full backup, including the database and the media files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:9
|
||||||
|
msgid "We're commited to make upgrade as easy and straightforward as possible, however, Funkwhale is still in development and you'll be safer with a backup."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:14
|
||||||
|
msgid "Reading the release notes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:16
|
||||||
|
msgid "Please take a few minutes to read the :doc:`../changelog`: updates should work similarly from version to version, but some of them may require additional steps. Those steps would be described in the version release notes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:22
|
||||||
|
msgid "Insights about new versions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:24
|
||||||
|
msgid "Some versions may be bigger than usual, and we'll try to detail the changes when possible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:34
|
||||||
|
msgid "Docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:36
|
||||||
|
msgid "If you've followed the setup instructions in :doc:`../installation/docker`, upgrade path is easy:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:40
|
||||||
|
msgid "Mono-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:42
|
||||||
|
msgid "Basically, you need to pull the new container image, stop and delete your existing container, and relaunch a new one:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:45
|
||||||
|
msgid "To upgrade your service, change the version number of the image in ``docker-compose.yml`` with the latest release (i.e. |version|)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:47
|
||||||
|
msgid "Pull the new images:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:53
|
||||||
|
msgid "Restart the service:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:60
|
||||||
|
msgid "Multi-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:86
|
||||||
|
#: ../../admin/upgrading.rst:194
|
||||||
|
msgid "You may sometimes get the following warning while applying migrations::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:90
|
||||||
|
#: ../../admin/upgrading.rst:198
|
||||||
|
msgid "This is a warning, not an error, and it can be safely ignored. Never run the ``makemigrations`` command yourself."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:94
|
||||||
|
msgid "Upgrading the Postgres container"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:96
|
||||||
|
msgid "With some Funkwhale releases, it is recommended to upgrade the version of the Postgres database server container. For example, Funkwhale 0.17 recommended Postgres 9.4, but Funkwhale 0.18 recommends Postgres 11. When upgrading Postgres, it is not sufficient to change the container referenced in ``docker-compose.yml``. New major versions of Postgres cannot read the databases created by older major versions. The data has to be exported from a running instance of the old version and imported by the new version."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:104
|
||||||
|
msgid "Thankfully, there is a Docker container available to automate this process. You can use the following snippet to upgrade your database in ``./postgres``, keeping a backup of the old version in ``./postgres-old``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:126
|
||||||
|
msgid "Non-docker setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:128
|
||||||
|
msgid "If you installed Funkwhale using the install script, upgrading is done using ``sh -c \"$(curl -sSL https://get.funkwhale.audio/upgrade.sh)\"``. Make sure to run this command with root permissions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:130
|
||||||
|
msgid "If you manually installed Funkwhale, please use the following instructions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:133
|
||||||
|
msgid "Upgrade the static files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:135
|
||||||
|
msgid "On non-docker setups, the front-end app is updated separately from the API. This is as simple as downloading the zip with the static files and extracting it in the correct place."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:139
|
||||||
|
msgid "The following example assume your setup match :ref:`frontend-setup`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:151
|
||||||
|
msgid "Upgrading the API"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:153
|
||||||
|
msgid "On non-docker, upgrade involves a few more commands. We assume your setup match what is described in :doc:`/installation/debian`:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/upgrading.rst:187
|
||||||
|
msgid "If you see a PermissionError when running the ``migrate`` command, try running the following commands by hand, and relaunch the migrations::"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:2
|
||||||
|
msgid "Changing Your Instance URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:6
|
||||||
|
msgid "We highly recommend not to change your instance URL. Members of the community tried to do this and documented their steps here. This guide might be incomplete or fail for your instance. There is no support for this procedure and likely no way back."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:9
|
||||||
|
msgid "At some point, you may wish to change your instance URL. In order to do this, you will need to change the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:12
|
||||||
|
msgid "The instance URL in your .env file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:13
|
||||||
|
msgid "The instance URL in your ``/etc/nginx/sites-enabled/funkwhale.conf`` or ``/etc/apache2/sites-enabled/funkwhale.conf`` depending on your web server setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:14
|
||||||
|
msgid "Any references to the old URL in your database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:16
|
||||||
|
msgid "The changes to the database can be achieved with the ``fix_federation_ids`` script in the ``manage.py`` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:19
|
||||||
|
msgid "Example output:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:53
|
||||||
|
msgid "On Docker Installations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:55
|
||||||
|
msgid "If you have followed the :doc:`Docker installation instructions <../installation/docker>`, you will need to do the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:58
|
||||||
|
#: ../../admin/url.rst:81
|
||||||
|
msgid "Edit your .env file to change the ``FUNKWHALE_HOSTNAME`` and ``DJANGO_ALLOWED_HOSTS`` value to your new URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:59
|
||||||
|
#: ../../admin/url.rst:82
|
||||||
|
msgid "Edit your ``/etc/nginx/sites-enabled/funkwhale.conf`` file to change the ``server_name`` values to your new URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:60
|
||||||
|
#: ../../admin/url.rst:83
|
||||||
|
msgid "Run the following command to change all mentions of your old instance URL in the database:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:66
|
||||||
|
#: ../../admin/url.rst:89
|
||||||
|
msgid "Restart Nginx or Apache to pick up the new changes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:77
|
||||||
|
msgid "On Non-Docker Installations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../admin/url.rst:79
|
||||||
|
msgid "If you have followed the :doc:`non-docker setup <../installation/debian>`, you will need to do the following:"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,33 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/index.md:1
|
||||||
|
msgid "Get started"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/index.md:3
|
||||||
|
msgid "Follow the guides in this section to set up and administrate your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/index.md:9
|
||||||
|
msgid "Install Funkwhale on your server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/index.md:11
|
||||||
|
msgid "Funkwhale is self-hosted, meaning you run it on your own server. To set up your own Funkwhale pod, check out [our installation guides](installation_docs/index.md). Choose the installation method that works for you!"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,361 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:1
|
||||||
|
msgid "Install Funkwhale on Debian"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:3
|
||||||
|
msgid "We support [Debian](https://debian.org) and Debian-based Linux distributions. Follow these steps to set up Funkwhale on a Debian server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:10
|
||||||
|
msgid "Before you begin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:12
|
||||||
|
msgid "Set a `FUNKWHALE_VERSION` variable to the version you want to install. You will use this version for all commands in this guide."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:18
|
||||||
|
msgid "Install `curl`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:25
|
||||||
|
msgid "1. Install Funkwhale dependencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:27
|
||||||
|
msgid "To install Funkwhale on your server, you first need to install its dependencies. We provide all dependencies in a single file to enable you to install everything at once. You can pass the information from this file to `apt` using the following command:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:33
|
||||||
|
msgid "When prompted, hit {kbd}`y` to confirm the install."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:35
|
||||||
|
msgid "That's it! `apt` installs all dependencies and tells you once it has finished."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:37
|
||||||
|
msgid "2. Create a Funkwhale user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:39
|
||||||
|
msgid "It's good practice to create a user on your server for Funkwhale administration. Doing this makes it easy to make sure you're running commands from the right place. Follow these steps to set up your user."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:41
|
||||||
|
msgid "Create the `funkwhale` user and set its shell to `bash` and its home directory to `/srv/funkwhale`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:47
|
||||||
|
msgid "Create a password for the user. You need to do this so that you can use this user to perform database administration."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:53
|
||||||
|
msgid "Finally, give the user `sudo` privileges. You need to do this so that the user can run administrative tasks."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:59
|
||||||
|
msgid "That's it! You've created your `funkwhale` user. Log in as this user when you want to perform any Funkwhale related tasks."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:61
|
||||||
|
msgid "3. Download Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:63
|
||||||
|
msgid "Once you've created your `funkwhale` user you can download the Funkwhale software itself."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:65
|
||||||
|
msgid "Create the directory layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:67
|
||||||
|
msgid "Log in to your `funkwhale` account and go to the `/srv/funkwhale` directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:74
|
||||||
|
msgid "Create the directories for Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:80
|
||||||
|
msgid "That's it! Your directory structure should look like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:93
|
||||||
|
msgid "Download the Funkwhale release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:95
|
||||||
|
msgid "Once you've created the directory structure you can download Funkwhale. Funkwhale comes in two parts: the API and the Frontend. You need both to run the application."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:97
|
||||||
|
msgid "Download the API."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:106
|
||||||
|
msgid "Download the frontend"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:116
|
||||||
|
msgid "You're done! These commands put the software in the correct location for Funkwhale to serve them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:118
|
||||||
|
msgid "4. Install Python dependencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:120
|
||||||
|
msgid "The Funkwhale API is written in Python. You need to install the API's dependencies to run the software. We use [Poetry](https://python-poetry.org) to handle Python dependencies."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:122
|
||||||
|
msgid "Install Poetry. Follow the steps in this wizard to set it up."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:128
|
||||||
|
msgid "Add Poetry to your `$PATH`. This allows you to use `poetry` commands."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:134
|
||||||
|
msgid "Set up poetry in your `/srv/funkwhale/api` directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:141
|
||||||
|
msgid "You're done! Poetry installs all Python dependencies."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:143
|
||||||
|
msgid "5. Set up your environment file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:145
|
||||||
|
msgid "The environment file contains options you can use to control your Funkwhale pod. Follow these steps to get a working environment up and running."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:147
|
||||||
|
msgid "Download the `.env` template to your `/srv/funkwhale/config` directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:153
|
||||||
|
msgid "Generate a secret key for Django. This keeps your Funkwhale data secure. Do not share this key with anybody."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:159
|
||||||
|
msgid "Reduce the permissions on your `.env` file to `600`. This means that only the `funkwhale` user can read and write this file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:165
|
||||||
|
msgid "Open the `.env` file in a text editor. For this example, we will use `nano`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:171
|
||||||
|
msgid "Update the following settings:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:172
|
||||||
|
msgid "Paste the secret key in the `DJANGO_SECRET_KEY` field."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:173
|
||||||
|
msgid "Populate the `DATABASE_URL` field:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:179
|
||||||
|
msgid "Populate the `CACHE_URL` field:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:185
|
||||||
|
msgid "Populate the `FUNKWHALE_HOSTNAME` field with the URL of your server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:187
|
||||||
|
msgid "Hit {kbd}`ctrl + x` then {kbd}`y` to save the file and close `nano`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:189
|
||||||
|
msgid "You're done! Your environment file is now ready to go. You can check out a full list of configuration options in our Environment file guide."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:191
|
||||||
|
msgid "6. Set up your database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:193
|
||||||
|
msgid "Funkwhale uses a [PostgreSQL](https://www.postgresql.org/) database to store information. Follow these steps to set up your database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:195
|
||||||
|
msgid "Install PostgreSQL and the `postgresql-contrib` package. This package contains extra features that Funkwhale uses."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:201
|
||||||
|
msgid "Once you've installed PostgreSQL, launch a `psql` shell as the `postgres` user to set up your database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:207
|
||||||
|
msgid "Create your Funkwhale database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:213
|
||||||
|
msgid "Create a user for Funkwhale. This user needs all privileges so it can manage the database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:220
|
||||||
|
msgid "Once you're finished, exit the shell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:226
|
||||||
|
msgid "Run the following commands to create extra extensions for the `funkwhale` database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:233
|
||||||
|
msgid "Your database is ready to be populated! Use the `manage.py` script to create the database structure."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:241
|
||||||
|
msgid "You may see the following warning when applying migrations:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:247
|
||||||
|
msgid "You can safely ignore this warning."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:250
|
||||||
|
msgid "That's it! You've finished setting up your database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:252
|
||||||
|
msgid "7. Set up Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:254
|
||||||
|
msgid "Once you have got your database up and running, you can get Funkwhale ready to launch. Use the built-in `manage.py` script to get things ready."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:256
|
||||||
|
msgid "Create a superuser for your pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:259
|
||||||
|
msgid "You can create several superusers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:262
|
||||||
|
msgid "To start using Funkwhale, you need to create a superuser for your pod. This user has all the permissions needed to administrate the pod. Follow these steps to create a superuser."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:268
|
||||||
|
msgid "That's it! You can log in as this user when you finish setting up Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:270
|
||||||
|
msgid "Collect static files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:272
|
||||||
|
msgid "Funkwhale uses several static assets to serve its frontend. Use `manage.py` to collect these files so that the webserver can serve them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:278
|
||||||
|
msgid "8. Set up systemd unit files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:280
|
||||||
|
msgid "Funkwhale uses [systemd](https://www.freedesktop.org/wiki/Software/systemd/) to manage its services. systemd helps prevent downtime by bringing services back up if they fail. It also starts your Funkwhale services after a reboot. Follow these steps to set up Funkwhale services with systemd."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:282
|
||||||
|
msgid "Download the sample unit files from Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:291
|
||||||
|
msgid "Reload systemd to register the new services."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:297
|
||||||
|
msgid "Start all Funkwhale services."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:303
|
||||||
|
msgid "Enable the services. Systemd can then start the services after a reboot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:311
|
||||||
|
msgid "That's it! systemd keeps these services running and starts them up in the correct order after a reboot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:313
|
||||||
|
msgid "9. Set up a reverse proxy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:315
|
||||||
|
msgid "Funkwhale uses a reverse proxy to serve content to users. We use [Nginx](https://nginx.com) to serve this proxy. Follow this guide to install an Nginx configuration using details from your `.env` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:317
|
||||||
|
msgid "Install Nginx."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:324
|
||||||
|
msgid "Download the Nginx templates from Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:332
|
||||||
|
msgid "Create an Nginx template with details from your `.env` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:355
|
||||||
|
msgid "That's it! You've created your Nginx file. Run the following command to check the `.env` details populated correctly."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:361
|
||||||
|
msgid "10. Set up TLS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:363
|
||||||
|
msgid "To enable your users to connect to your pod securely, you need to set up {abbr}`TLS (Transport Layer Security)`. To do this, we recommend using the <acme.sh> script."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:365
|
||||||
|
msgid "Log in as the superuser account to run these commands."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:371
|
||||||
|
msgid "Create the `/etc/certs` folder to store the certificates."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:377
|
||||||
|
msgid "Download and run `acme.sh`. Replace `my@example.com` with your email address."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:383
|
||||||
|
msgid "Generate a certificate. Replace `example.com` with your Funkwhale pod name. Use `/srv/funkwhale/front` as your web root folder."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:389
|
||||||
|
msgid "Install the certificate to your Nginx config. Replace `example.com` with your Funkwhale pod name."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/debian.md:398
|
||||||
|
msgid "That's it! acme.sh renews your certificate every 60 days, so you don't need to about renewing it."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,213 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:1
|
||||||
|
msgid "Install Funkwhale using Docker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:3
|
||||||
|
msgid "Funkwhale is available as a containerized application. This enables you to run each service in containers rather than install them on your server. You can run Funkwhale using [Docker](https://docker.com) and Docker-Compose."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:6
|
||||||
|
msgid "This guide assumes you are using a [Debian](https://debian.org)-based system."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:13
|
||||||
|
msgid "Before you begin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:15
|
||||||
|
msgid "Set a `FUNKWHALE_VERSION` variable to the version you want to install. You will use this version for all commands in this guide."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:21
|
||||||
|
msgid "Install [Docker](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:22
|
||||||
|
msgid "Install `curl`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:29
|
||||||
|
msgid "1. Download the project files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:31
|
||||||
|
msgid "Create the project directory structure."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:37
|
||||||
|
msgid "Navigate to the project directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:43
|
||||||
|
msgid "Download the `docker-compose` template. This contains information about the containers and how they work together."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:49
|
||||||
|
msgid "Download the nginx templates. You need these to set up your reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:56
|
||||||
|
msgid "That's it! You've set up your project files. The directory structure looks like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:66
|
||||||
|
msgid "2. Set up your environment file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:68
|
||||||
|
msgid "The environment file contains options you can use to control your Funkwhale pod. Follow these steps to get a working environment up and running."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:70
|
||||||
|
msgid "Download the `.env` template to your `/srv/funkwhale` directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:76
|
||||||
|
msgid "Update `FUNKWHALE_VERSION` in the `.env` file to the `$FUNKWHALE_VERSION` variable you set earlier."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:82
|
||||||
|
msgid "Reduce the permissions on your `.env` file to `600`. This means that only your user can read and write this file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:88
|
||||||
|
msgid "Generate a secret key for Django. This keeps your Funkwhale data secure. Do not share this key with anybody."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:94
|
||||||
|
msgid "Open the `.env` file in a text editor. For this example, we will use `nano`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:100
|
||||||
|
msgid "Update the following settings:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:101
|
||||||
|
msgid "Paste the secret key in the `DJANGO_SECRET_KEY` field."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:102
|
||||||
|
msgid "Populate the `FUNKWHALE_HOSTNAME` field with the URL of your server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:104
|
||||||
|
msgid "Hit {kbd}`ctrl + x` then {kbd}`y` to save the file and close `nano`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:106
|
||||||
|
msgid "You're done! Your environment file is now ready to go. You can check out a full list of configuration options in our Environment file guide."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:108
|
||||||
|
msgid "3. Set up Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:110
|
||||||
|
msgid "Once you've filled in your environment file, you can set up Funkwhale. Follow these steps to create your database and create a superuser."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:112
|
||||||
|
msgid "Pull the containers to download all the required services."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:119
|
||||||
|
msgid "Bring up the database container so you can run the database migrations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:125
|
||||||
|
msgid "Run the database migrations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:132
|
||||||
|
msgid "You may see the following warning when applying migrations:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:138
|
||||||
|
msgid "You can safely ignore this warning."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:141
|
||||||
|
msgid "Create your superuser."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:147
|
||||||
|
msgid "Launch all the containers to bring up your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:153
|
||||||
|
msgid "That's it! Your Funkwhale pod is now up and running."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:155
|
||||||
|
msgid "4. Set up your reverse proxy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:157
|
||||||
|
msgid "Funkwhale uses a reverse proxy to serve content to users. We use [Nginx](https://nginx.com) to serve this proxy. Follow this guide to install an Nginx configuration using details from your `.env` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:159
|
||||||
|
msgid "Install Nginx."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:166
|
||||||
|
msgid "Download the Nginx templates from Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:173
|
||||||
|
msgid "Create an Nginx template with details from your `.env` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:196
|
||||||
|
msgid "That's it! You've created your Nginx file. Run the following command to check the `.env` details populated correctly."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:202
|
||||||
|
msgid "5. Set up TLS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:204
|
||||||
|
msgid "To enable your users to connect to your pod securely, you need to set up {abbr}`TLS (Transport Layer Security)`. To do this, we recommend using the <acme.sh> script."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:206
|
||||||
|
msgid "Log in as the superuser account to run these commands."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:212
|
||||||
|
msgid "Create the `/etc/certs` folder to store the certificates."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:218
|
||||||
|
msgid "Download and run `acme.sh`. Replace `my@example.com` with your email address."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:224
|
||||||
|
msgid "Generate a certificate. Replace `example.com` with your Funkwhale pod name. Use `/srv/funkwhale/front` as your web root folder."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:230
|
||||||
|
msgid "Install the certificate to your Nginx config. Replace `example.com` with your Funkwhale pod name."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/docker.md:239
|
||||||
|
msgid "That's it! acme.sh renews your certificate every 60 days, so you don't need to about renewing it."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,42 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:10
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:10
|
||||||
|
msgid "Choose your installation method"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:1
|
||||||
|
msgid "Install Funkwhale on your server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:3
|
||||||
|
msgid "Choose your installation method and follow the guides to set up your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:5
|
||||||
|
msgid "Funkwhale requires the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:7
|
||||||
|
msgid "__A dedicated domain or subdomain__ – you can't run Funkwhale in a subdirectory of a domain. You need to run it on a domain or a subdomain. For example: `https://mypod.io` or `https://funkwhale.mysite.io`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/index.md:8
|
||||||
|
msgid "__Access to ports `80` and `443`__ – Funkwhale uses these ports for federation."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,61 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:1
|
||||||
|
msgid "Install Funkwhale with the quick install script"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:3
|
||||||
|
msgid "The quick install script is the easiest way to install Funkwhale. Run this script on a [Debian](https://debian.org)-based server to get your pod set up."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:5
|
||||||
|
msgid "Before you begin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:7
|
||||||
|
msgid "You need `sudo` access to run the quick install script."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:8
|
||||||
|
msgid "The quick install script installs Nginx, PostgreSQL, and Redis by default. You can customize this behavior by selecting the options in the script."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:10
|
||||||
|
msgid "1. Install dependencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:12
|
||||||
|
msgid "To download the quick install script, install `curl`:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:19
|
||||||
|
msgid "2. Install Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:21
|
||||||
|
msgid "Now that you have `curl` installed, download and run the quick install script:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:27
|
||||||
|
msgid "The script will prompt you to enter information about your instance. Follow the onscreen prompts until the script completes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/quick_install.md:29
|
||||||
|
msgid "That's it! You've finished installing Funkwhale. You should now be able to visit your pod in your web browser."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,49 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:1
|
||||||
|
msgid "Third-party installation methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:3
|
||||||
|
msgid "These installation methods are not provided by the Funkwhale project. If you have any issues with your installation, please contact the installation maintainers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:5
|
||||||
|
msgid "[YunoHost](https://github.com/YunoHost-Apps/funkwhale_ynh)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:6
|
||||||
|
msgid "[Arch Linux](https://wiki.archlinux.org/index.php/Funkwhale)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:7
|
||||||
|
msgid "[NixOS](https://github.com/mmai/funkwhale-nixos)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:8
|
||||||
|
msgid "[Kubernetes helm chart](https://gitlab.com/ananace/charts/)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:9
|
||||||
|
msgid "[HomelabOS](https://homelabos.com/docs/software/funkwhale/)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../administrator_documentation/installation_docs/third_party.md:10
|
||||||
|
msgid "[Docker swarm](https://github.com/fedeb95/funkwhale-swarm)"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,25 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../api.rst:2
|
||||||
|
msgid "Funkwhale API"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../api.rst:4
|
||||||
|
msgid "Funkwhale API is still a work in progress and should not be considered as stable. We offer an `interactive documentation using swagger </swagger/>`_ were you can browse available endpoints and try the API."
|
||||||
|
msgstr ""
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,158 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:2
|
||||||
|
msgid "Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:4
|
||||||
|
msgid "Funkwhale is made of several components, each of them fulfilling a specific mission:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:33
|
||||||
|
msgid "This graph may looks a bit scary, so we'll detail the role of each component below."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:36
|
||||||
|
msgid "The user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:38
|
||||||
|
msgid "Funkwhale users can interact with your instance using:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:40
|
||||||
|
msgid "The official web interface"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:41
|
||||||
|
#: ../../developers/architecture.rst:51
|
||||||
|
msgid "Third-party apps"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:44
|
||||||
|
msgid "The web interface"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:46
|
||||||
|
msgid "This refers to Funkwhale's built-in web interface, which is a Single Page application written in Vue JS. This application will interact with Funkwhale's API to retrieve or persist data."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:53
|
||||||
|
msgid "Since Funkwhale implements a subset of the Subsonic API, it's compatible with existing :doc:`apps <../users/apps>` such as DSub, Ultrasonic or Clementine that support this API. Those apps can be used as a replacement or in conjunction of the web interface, but the underlying data is the same."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:58
|
||||||
|
msgid "The reverse proxy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:60
|
||||||
|
msgid "Funkwhale's API server should never be exposed directly to the internet, as we require a reverse proxy (Apache or Nginx) for performance and security reasons. The reverse proxy will receive client HTTP or HTTPS requests, and:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:64
|
||||||
|
msgid "Proxy them to the API server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:65
|
||||||
|
msgid "Serve requested static files (audio files, stylesheets, javascript, fonts...)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:68
|
||||||
|
msgid "The API server"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:70
|
||||||
|
msgid "Funkwhale's API server is the central piece of the project. This component is responsible for answering and processing user requests, manipulate data from the database, send long-running tasks to workers, etc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:74
|
||||||
|
msgid "It's a Python/Django application."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:77
|
||||||
|
msgid "The database"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:79
|
||||||
|
msgid "Most of the data such as user accounts, favorites, music metadata or playlist is stored in a PostgreSQL database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:83
|
||||||
|
msgid "The cache/message queue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:85
|
||||||
|
msgid "Fetching data from the database is sometimes slow or resource hungry. To reduce the load, Redis act as a cache for data that is considerably faster than a database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:88
|
||||||
|
msgid "It is also a message queue that will deliver tasks to the worker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:91
|
||||||
|
msgid "The worker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:93
|
||||||
|
msgid "Some operations are too long to live in the HTTP request/response cycle. Typically, importing a bunch of uploaded tracks could take a minute or two."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:96
|
||||||
|
msgid "To keep the API response time as fast as possible, we offload long-running tasks to a background process, also known as the Celery worker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:99
|
||||||
|
msgid "Typical tasks include:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:101
|
||||||
|
msgid "Handling music imports"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:102
|
||||||
|
msgid "Handling federation/ActivityPub messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:103
|
||||||
|
msgid "Scanning other instances libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:105
|
||||||
|
msgid "This worker is also able to retry failed tasks, or spawn automatically more process when the number of received tasks increase."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:109
|
||||||
|
msgid "The scheduler"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:111
|
||||||
|
msgid "Some long-running tasks are not triggered by user or external input, but on a recurring basis instead. The scheduler is responsible for triggering those tasks and put the corresponding messages in the message queue so the worker can process them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:115
|
||||||
|
msgid "Recurring tasks include:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:117
|
||||||
|
msgid "Cache cleaning"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/architecture.rst:118
|
||||||
|
msgid "Music metadata refreshing"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,237 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:2
|
||||||
|
msgid "API Authentication"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:4
|
||||||
|
msgid "Each Funkwhale API endpoint supports access from:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:6
|
||||||
|
msgid "Anonymous users (if the endpoint is configured to do so, for exemple via the ``API Authentication Required`` setting)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:7
|
||||||
|
msgid "Logged-in users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:8
|
||||||
|
msgid "Third-party apps (via OAuth2)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:10
|
||||||
|
msgid "To seamlessly support this range of access modes, we internally use oauth scopes to describes what permissions are required to perform any given operation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:14
|
||||||
|
msgid "OAuth"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:17
|
||||||
|
msgid "Create an app"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:19
|
||||||
|
msgid "To connect to Funkwhale API via OAuth, you need to create an application. There are two ways to do that:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:22
|
||||||
|
msgid "By visiting ``/settings/applications/new`` when logged in on your Funkwhale instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:23
|
||||||
|
msgid "By sending a ``POST`` request to ``/api/v1/oauth/apps/``, as described in `our API documentation <https://docs.funkwhale.audio/swagger/>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:25
|
||||||
|
msgid "Both method will give you a client ID and secret."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:28
|
||||||
|
msgid "Getting an access token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:30
|
||||||
|
msgid "Once you have a client ID and secret, you can request access tokens using the `authorization code grant flow <https://tools.ietf.org/html/rfc6749#section-4.1>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:33
|
||||||
|
msgid "We support the ``urn:ietf:wg:oauth:2.0:oob`` redirect URI for non-web applications, as well as traditionnal redirection-based flow."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:36
|
||||||
|
msgid "Our authorization endpoint is located at ``/authorize``, and our token endpoint at ``/api/v1/oauth/token/``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:39
|
||||||
|
msgid "Refreshing tokens"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:41
|
||||||
|
msgid "When your access token is expired, you can `request a new one as described in the OAuth specification <https://tools.ietf.org/html/rfc6749#section-6>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:44
|
||||||
|
msgid "Security considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:46
|
||||||
|
msgid "Grant codes are valid for a 5 minutes after authorization request is approved by the end user."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:47
|
||||||
|
msgid "Access codes are valid for 10 hours. When expired, you will need to request a new one using your refresh token."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:48
|
||||||
|
msgid "We return a new refresh token everytime an access token is requested, and invalidate the old one. Ensure you store the new refresh token in your app."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:52
|
||||||
|
msgid "Scopes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:54
|
||||||
|
msgid "Scopes are defined in :file:`funkwhale_api/users/oauth/scopes.py:BASE_SCOPES`, and generally are mapped to a business-logic resources (follows, favorites, etc.). All those base scopes come in two flawours:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:56
|
||||||
|
msgid "`read:<base_scope>`: get read-only access to the resource"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:57
|
||||||
|
msgid "`write:<base_scope>`: get write-only access to the ressource"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:59
|
||||||
|
msgid "For example, ``playlists`` is a base scope, and ``write:playlists`` is the actual scope needed to perform write operations on playlists (via a ``POST``, ``PATCH``, ``PUT`` or ``DELETE``. ``read:playlists`` is used to perform read operations on playlists such as fetching a given playlist via ``GET``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:63
|
||||||
|
msgid "Having the generic ``read`` or ``write`` scope give you the corresponding access on *all* resources."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:65
|
||||||
|
msgid "This is the list of OAuth scopes that third-party applications can request:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:69
|
||||||
|
msgid "Scope"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:69
|
||||||
|
msgid "Description"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:71
|
||||||
|
msgid "``read``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:71
|
||||||
|
msgid "Read-only access to all data (equivalent to all ``read:*`` scopes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:74
|
||||||
|
msgid "``write``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:74
|
||||||
|
msgid "Write-only access to all data (equivalent to all ``write:*`` scopes)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:77
|
||||||
|
msgid "``<read/write>:profile``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:77
|
||||||
|
msgid "Access to profile data (e-mail address, username, etc.)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:79
|
||||||
|
msgid "``<read/write>:libraries``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:79
|
||||||
|
msgid "Access to library data (uploads, libraries tracks, albums, artists...)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:82
|
||||||
|
msgid "``<read/write>:favorites``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:82
|
||||||
|
msgid "Access to favorites"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:84
|
||||||
|
msgid "``<read/write>:listenings``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:84
|
||||||
|
msgid "Access to history"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:86
|
||||||
|
msgid "``<read/write>:follows``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:86
|
||||||
|
msgid "Access to followers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:88
|
||||||
|
msgid "``<read/write>:playlists``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:88
|
||||||
|
msgid "Access to playlists"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:90
|
||||||
|
msgid "``<read/write>:radios``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:90
|
||||||
|
msgid "Access to radios"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:92
|
||||||
|
msgid "``<read/write>:filters``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:92
|
||||||
|
msgid "Access to content filters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:94
|
||||||
|
msgid "``<read/write>:notifications``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:94
|
||||||
|
msgid "Access to notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:96
|
||||||
|
msgid "``<read/write>:edits``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/authentication.rst:96
|
||||||
|
msgid "Access to metadata edits"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,25 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../developers/index.rst:2
|
||||||
|
msgid "Developer documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/index.rst:4
|
||||||
|
msgid "This documentation is targeted primarily at developers who want to understand how Funkwhale works and how to build apps that integrate with Funkwhale's ecosystem."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,173 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:2
|
||||||
|
msgid "Funkwhale plugins"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:4
|
||||||
|
msgid "Starting with Funkwhale 1.0, it is now possible to implement new features via plugins."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:7
|
||||||
|
msgid "Some plugins are maintained by the Funkwhale team (e.g. this is the case of the ``scrobbler`` plugin), or by third-parties."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:11
|
||||||
|
msgid "Installing a plugin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:13
|
||||||
|
msgid "To install a plugin, ensure its directory is present in the ``FUNKWHALE_PLUGINS_PATH`` directory."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:15
|
||||||
|
msgid "Then, add its name to the ``FUNKWHALE_PLUGINS`` environment variable, like this::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:19
|
||||||
|
msgid "We provide a command to make it easy to install third-party plugins::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:25
|
||||||
|
msgid "If you use the command, you will still need to append the plugin name to ``FUNKWHALE_PLUGINS``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:29
|
||||||
|
msgid "Types of plugins"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:31
|
||||||
|
msgid "There are two types of plugins:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:33
|
||||||
|
msgid "Plugins that are accessible to end-users, a.k.a. user-level plugins. This is the case of our Scrobbler plugin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:34
|
||||||
|
msgid "Pod-level plugins that are configured by pod admins and are not tied to a particular user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:36
|
||||||
|
msgid "Additionally, user-level plugins can be regular plugins or source plugins. A source plugin provides a way to import files from a third-party service, e.g via webdav, FTP or something similar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:40
|
||||||
|
msgid "Hooks and filters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:42
|
||||||
|
msgid "Funkwhale includes two kind of entrypoints for plugins to use: hooks and filters. B"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:44
|
||||||
|
msgid "Hooks should be used when you want to react to some change. For instance, the ``LISTENING_CREATED`` hook notify each registered callback that a listening was created. Our ``scrobbler`` plugin has a callback registered to this hook, so that it can notify Last.fm properly:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:57
|
||||||
|
msgid "Filters work slightly differently, and expect callbacks to return a value that will be used by Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:59
|
||||||
|
msgid "For instance, the ``PLUGINS_DEPENDENCIES`` filter can be used as a way to install additional dependencies needed by your plugin:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:72
|
||||||
|
msgid "To sum it up, hooks are used when you need to react to something, and filters when you need to alter something."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:75
|
||||||
|
msgid "Writing a plugin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:77
|
||||||
|
msgid "Regardless of the type of plugin you want to write, lots of concepts are similar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:79
|
||||||
|
msgid "First, a plugin need three files:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:81
|
||||||
|
msgid "a ``__init__.py`` file, since it's a Python package"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:82
|
||||||
|
msgid "a ``funkwhale_startup.py`` file, that is loaded during Funkwhale initialization"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:83
|
||||||
|
msgid "a ``funkwhale_ready.py`` file, that is loaded when Funkwhale is configured and ready"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:85
|
||||||
|
msgid "So your plugin directory should look like this::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:92
|
||||||
|
msgid "Now, let's write our plugin!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:94
|
||||||
|
msgid "``funkwhale_startup.py`` is where you declare your plugin and it's configuration options:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:114
|
||||||
|
msgid "Now that our plugin is declared and configured, let's implement actual functionality in ``funkwhale_ready.py``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:149
|
||||||
|
msgid "And that's pretty much it. Now, login, visit https://yourpod.domain/settings/plugins, set a value in the ``greeting`` field and enable the plugin."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:151
|
||||||
|
msgid "After that, you should be greeted properly if you go to https://yourpod.domain/greeting."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:154
|
||||||
|
msgid "Hooks reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.plugins.LISTENING_CREATED:1
|
||||||
|
msgid "Called when a track is being listened"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/plugins.rst:159
|
||||||
|
msgid "Filters reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.plugins.PLUGINS_DEPENDENCIES:1
|
||||||
|
msgid "Called with an empty list, use this filter to append pip dependencies to the list for installation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.plugins.PLUGINS_APPS:1
|
||||||
|
msgid "Called with an empty list, use this filter to append apps to INSTALLED_APPS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.plugins.MIDDLEWARES_BEFORE:1
|
||||||
|
msgid "Called with an empty list, use this filter to prepend middlewares to MIDDLEWARE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.plugins.MIDDLEWARES_AFTER:1
|
||||||
|
msgid "Called with an empty list, use this filter to append middlewares to MIDDLEWARE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../docstring of config.plugins.URLS:1
|
||||||
|
msgid "Called with an empty list, use this filter to register new urls and views"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,165 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:2
|
||||||
|
msgid "Subsonic API"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:4
|
||||||
|
msgid "Funkwhale implements a subset of the `Subsonic API <http://www.subsonic.org/pages/api.jsp>`_ that makes it compatible with various apps in the Subsonic ecosystem (See :doc:`../users/apps`)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:8
|
||||||
|
msgid "Supported endpoints"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:10
|
||||||
|
msgid "We seek the best compatibility with existing apps and will eventually implement all endpoints that match Funkwhale's feature set. However, the current implementation do not include folder-based endpoints, as it does not match our internal model at all and will require substantial effort to emulate."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:15
|
||||||
|
msgid "We'll try to keep this list up-to-date, but you can also browse `the relevant code <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/subsonic/views.py>`_ if needed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:19
|
||||||
|
msgid "As of today, the following endpoints are implemented:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:21
|
||||||
|
msgid "createPlaylist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:22
|
||||||
|
msgid "deletePlaylist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:23
|
||||||
|
msgid "getAlbum"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:24
|
||||||
|
msgid "getAlbumList2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:25
|
||||||
|
msgid "getArtist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:26
|
||||||
|
msgid "getArtistInfo2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:27
|
||||||
|
msgid "getArtists"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:28
|
||||||
|
msgid "getAvatar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:29
|
||||||
|
msgid "getCoverArt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:30
|
||||||
|
msgid "getIndexes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:31
|
||||||
|
msgid "getLicense"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:32
|
||||||
|
msgid "getMusicFolders"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:33
|
||||||
|
msgid "getPlaylist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:34
|
||||||
|
msgid "getPlaylists"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:35
|
||||||
|
msgid "getRandomSongs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:36
|
||||||
|
msgid "getSong"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:37
|
||||||
|
msgid "getStarred"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:38
|
||||||
|
msgid "getStarred2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:39
|
||||||
|
msgid "getUser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:40
|
||||||
|
msgid "ping"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:41
|
||||||
|
msgid "scrobble"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:42
|
||||||
|
msgid "search3"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:43
|
||||||
|
msgid "star"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:44
|
||||||
|
msgid "stream"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:45
|
||||||
|
msgid "unstar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:46
|
||||||
|
msgid "updatePlaylist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:48
|
||||||
|
msgid "We support both XML and JSON formats for all those endpoints."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:51
|
||||||
|
msgid "Additional properties"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:53
|
||||||
|
msgid "Regardless of the endpoints, we always return those additional properties in our payload, which you can use to adapt your client behaviour if needed:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:66
|
||||||
|
msgid "Testing a Subsonic app"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../developers/subsonic.rst:68
|
||||||
|
msgid "We maintain a demo server at https://demo.funkwhale.audio/, which you can use for your tests. Example with the ping endpoint: https://demo.funkwhale.audio/rest/ping.view?f=json"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,182 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:2
|
||||||
|
msgid "Adding New Documents"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:5
|
||||||
|
msgid "Writing Documents"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:7
|
||||||
|
msgid "Before you start writing documents:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:9
|
||||||
|
msgid "Make sure you have all the necessary information and :doc:`tools you need <tools>` to get started"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:10
|
||||||
|
msgid "Check the `current documents <https://docs.funkwhale.audio>`_ carefully to make sure you're not repeating something somebody has already said"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:11
|
||||||
|
msgid "Familiarize yourself with :doc:`reStructuredText <restructured>` and :doc:`the recommended document style <style>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:13
|
||||||
|
msgid "Once you're ready to get started, you can start :ref:`working with Gitlab <work-with-gitlab>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:18
|
||||||
|
msgid "Working With Gitlab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:20
|
||||||
|
msgid "Documents are managed in the Funkwhale `Gitlab <https://dev.funkwhale.audio>`_ repository along with the code. In order to add new documents, you will need to follow this process:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:23
|
||||||
|
msgid ":ref:`Sign up to Gitlab <sign-up>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:24
|
||||||
|
msgid ":ref:`Fork the project <fork-project>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:25
|
||||||
|
msgid ":ref:`Clone the Repository <clone-repo>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:26
|
||||||
|
msgid ":ref:`Add documents to your branch <add-docs>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:27
|
||||||
|
msgid ":ref:`Create a Merge Request <merge-request>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:32
|
||||||
|
msgid "Signing up to Gitlab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:34
|
||||||
|
msgid "Before you can contribute documents to Funkwhale, you will need to set up an account on the project's `Gitlab <https://dev.funkwhale.audio>`_. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:37
|
||||||
|
msgid "Navigate to the https://dev.funkwhale.audio"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:38
|
||||||
|
msgid "Click on \"register\" to bring up the registration form"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:39
|
||||||
|
msgid "Fill in the relevant details, or alternatively sign up with Github if you already have an account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:40
|
||||||
|
msgid "[Optional]: You can then `set up an SSH key <https://docs.gitlab.com/ee/ssh/>`_ to enable easy management of your :ref:`repository <clone-repo>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:45
|
||||||
|
msgid "Fork the project"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:47
|
||||||
|
msgid "Once you have set up an account, you can `fork the project <https://help.github.com/en/articles/fork-a-repo>`_ to create a copy of the repository that you can make changes to."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:50
|
||||||
|
#: ../../documentation/creating.rst:117
|
||||||
|
msgid "Navigate to the `Funkwhale repository <https://dev.funkwhale.audio/funkwhale/funkwhale>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:51
|
||||||
|
msgid "Click \"Fork\" at the top of the repository"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:52
|
||||||
|
msgid "You will be redirected to a new version of the project. This one's all yours!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:57
|
||||||
|
msgid "Clone the Repository"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:59
|
||||||
|
msgid "Once you have successfully forked the project, you can safely download a copy of this to your local computer to create documents."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:72
|
||||||
|
msgid "Once you've cloned the repository, it's a good idea to create a new branch for your documents so that you can :ref:`merge it later <merge-request>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:88
|
||||||
|
msgid "Add Documents to Your Branch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:90
|
||||||
|
msgid "When you've got your repository all set up, you can start writing your documents. Remember to keep in mind :doc:`who you are writing for <style>` when you are writing, and :doc:`check your syntax works <restructured>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:93
|
||||||
|
msgid "Once you've written what you need to write, you can push these changes to your forked repository:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:112
|
||||||
|
msgid "Create a Merge Request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:114
|
||||||
|
msgid "Once you've pushed all of your documents, you can create a `Merge Request <https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html>`_ to request the documents be merged into the official Funkwhale develop branch."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:118
|
||||||
|
msgid "Click \"Merge Requests\" on the left hand side"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:119
|
||||||
|
msgid "Click on the \"New Merge Request\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:120
|
||||||
|
msgid "Under the \"Source Branch\" select your forked repository and the branch to which you've pushed changes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:121
|
||||||
|
msgid "Under \"Target Branch\", select the \"develop\" branch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:122
|
||||||
|
msgid "Click \"Compare Branches and Continue\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:123
|
||||||
|
msgid "In the form that comes up, provide a title/description of the changes you've made"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:124
|
||||||
|
msgid "Click \"Submit Merge Request\" to submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/creating.rst:126
|
||||||
|
msgid "That's it! If your merge request is successful, you will get a notification from one of the maintainers letting you know your changes have been accepted. Sometimes, you may need to make minor corrections. Don't worry! We'll let you know what needs correcting."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,57 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:2
|
||||||
|
msgid "Identifying Gaps in Funkwhale Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:4
|
||||||
|
msgid "As Funkwhale and its community continue to grow and develop, more and more processes and features will need to be documented. As users find interesting new ways to interact with the software, provide novel solutions to existing issues, and find information they need missing, the documents will need to be updated and added to."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:9
|
||||||
|
msgid "If you are trying to do something in Funkwhale and can't find any resources to help, you can help out by contributing in one of the following ways:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:13
|
||||||
|
msgid "Providing Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:15
|
||||||
|
msgid "If you've identified a gap or mistake in the documentation and feel comfortable writing up new guides/correcting existing ones, please feel free to do so. The best way to do this is by following the :doc:`document creation guide <creating>` to make sure your documents get processed as quickly as possible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:21
|
||||||
|
msgid "Requesting Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:23
|
||||||
|
msgid "If you're not comfortable with writing documents or don't feel like you can, you can help out by requesting a document be written. There are three ways to request new documents:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:26
|
||||||
|
msgid "Open a new issue on `Gitlab <https://dev.funkwhale.audio/funkwhale/funkwhale/issues>`_, providing as much detail as possible"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:27
|
||||||
|
msgid "Start a new thread on `the forum <https://forum.funkwhale.audio/>`_ with more details about your requests"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/identifying.rst:28
|
||||||
|
msgid "Ask somebody on our `chat room <https://matrix.to/#/#funkwhale:matrix.org>`_"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,33 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/index.rst:2
|
||||||
|
msgid "Contribute to Funkwhale's Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/index.rst:4
|
||||||
|
msgid "Funkwhale is constantly growing and changing, so good documentation is essential. If you find a gap or mistake in existing documents, or you want to create new documents to cover something that isn't covered yet, you can follow this procedure to contribute to Funkwhale's documentation store."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/index.rst:10
|
||||||
|
msgid "Setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/index.rst:20
|
||||||
|
msgid "Contributing"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,69 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:2
|
||||||
|
msgid "Rearranging Files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:4
|
||||||
|
msgid "Sometimes, rearranging the layout of documents in the docs folder can help to make things a bit clearer for users. However, this can present the following issues:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:7
|
||||||
|
msgid ":ref:`Orphaned document links <orphaned-doc>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:8
|
||||||
|
msgid ":ref:`Orphaned URLs <orphaned-url>`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:13
|
||||||
|
msgid "Orphaned Document Links"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:15
|
||||||
|
msgid "Documents frequently reference other documents to avoid repeating information. If you move a document, you need to be sure to update any orphaned references."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:18
|
||||||
|
msgid "Running ``make html`` in the ``docs`` directory (assuming you have :doc:`Sphinx installed <tools>`) will generate a series of warnings letting you know if any links are orphaned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:25
|
||||||
|
msgid "You can then go to the file/line in question and update the link to its new location."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:30
|
||||||
|
msgid "Orphaned URLs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:32
|
||||||
|
msgid "Once internal document links have been resolved, it is important to consider that the moved file may have also been linked externally elsewhere before. In order to ensure that anybody trying to access the file is properly redirected to its new location, we need to make use of the link redirector in the ``conf.py`` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:37
|
||||||
|
msgid "The link redirector takes two arguments: the old location of the file (passed as a .html file at the relative path ``docs``), and the new location it should redirect to. For example, if a document was moved from ``docs/index.html`` to ``docs/admin/index.html``, we would add the following to the ``redirect_files`` section of ``conf.py``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:53
|
||||||
|
msgid "If you are moving something from one folder to another, you would need to tell the redirect to move to the correct level. For example, if a file is moving from ``docs/admin/index.html`` to ``docs/users/index.html``, you will need to add the following to the ``redirect_files`` section of ``conf.py``:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/rearrange.rst:69
|
||||||
|
msgid "The script will then take these two arguments and create a redirect file in the original location so that anybody accessing the existing URL will be redirected."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,89 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:2
|
||||||
|
msgid "Writing reStructuredText"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:4
|
||||||
|
msgid "Funkwhale's documentation is written using a standard markup language called `reStructuredText <http://docutils.sourceforge.net/rst.html>`_. It is similar to Markdown and other web-based markup languages, but is better suited to technical documentation due to its standardized nature. A full syntax breakdown can be found `here <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html>`_, but the following should be enough to get you started on writing docs for Funkwhale."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:11
|
||||||
|
msgid "Headings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:13
|
||||||
|
msgid "Headings are useful for splitting up text into relevant subsections. With `Sphinx <http://www.sphinx-doc.org/>`_, major headers and direct subheaders are rendered as navigation links on Index pages, which makes them ideal for sharing specific information quickly."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:17
|
||||||
|
msgid "Headers are written like so:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:32
|
||||||
|
msgid "Underlines should be **at least** as long as the words they underline"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:35
|
||||||
|
msgid "Links"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:37
|
||||||
|
msgid "Links can be rendered in several different ways depending on where they link to:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:45
|
||||||
|
msgid "Inline references can also be generated using the following syntax:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:56
|
||||||
|
msgid "Lists"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:58
|
||||||
|
msgid "Bullet point lists are usually written using dashes like so:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:67
|
||||||
|
msgid "Blocks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:69
|
||||||
|
msgid "Blocks can be used to easily and concisely present information to a reader and are particularly useful when demonstrating technical steps. Blocks in reStructuredText can be written as follows:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:87
|
||||||
|
msgid "Other syntax highlighting is available. See the spec for full details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:91
|
||||||
|
msgid "Content within code blocks should be indented by three spaces. You can end the code block by removing the indent."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:95
|
||||||
|
msgid "Notes and Warnings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:97
|
||||||
|
msgid "Notes are great for presenting important information to users and providing additional context. Warnings can be very useful if a step you're writing about could potentially have adverse consequences."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/restructured.rst:112
|
||||||
|
msgid "Content within notes and warnings should be indented by three spaces. You can end the block by removing the indent."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,65 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:2
|
||||||
|
msgid "Documentation Style Guide"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:5
|
||||||
|
msgid "End-user Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:7
|
||||||
|
msgid "End-user documentation is often the most difficult to write as it requires striking the right balance between technical and non-technical instruction. Typically, writing a document should start with you asking yourself the following question:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:11
|
||||||
|
msgid "Why is the user reading this document?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:13
|
||||||
|
msgid "The answer will usually be one of the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:15
|
||||||
|
msgid "They are new to the project and are looking to learn more about it"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:16
|
||||||
|
msgid "They are trying to do something and are having difficulty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:18
|
||||||
|
msgid "Documentation should be written with these two answers in mind. Information should be clearly laid out in small sections with plenty of clear examples and precise instructions. You should also try to pre-empt where the user might need to go next in order to ease their journey through the document by providing logical and relevant links to more documents."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:24
|
||||||
|
msgid "Administrator Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:26
|
||||||
|
msgid "Funkwhale is quite a technical project and is enjoyed by people who like setting up their own systems. These users can range from experienced server administrators to hobbyists, so administrator documentation should include plenty of technical instructions with an easy-to-read explanation of each step to cover both use-cases."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:32
|
||||||
|
msgid "Developer Documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/style.rst:34
|
||||||
|
msgid "Developer documentation should aim to be as technical and readable as possible. Since the reader is likely a developer themselves, providing as much technical detail as possible is the best course of action as it allows them to dive in to the project's internals with more confidence. It is safe to assume they are used to reading more technical work."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:2
|
||||||
|
msgid "Documentation Requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:4
|
||||||
|
msgid "Funkwhale's documentation is written using :doc:`reStructuredText <restructured>` and is built using `Sphinx <http://www.sphinx-doc.org/>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:8
|
||||||
|
msgid "Text Editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:10
|
||||||
|
msgid "As reStructuredText is a writing standard, any text editor can be used to modify documents depending on preference. User-friendly programs such as `Retext <https://github.com/retext-project/retext>`_ are good options for those just getting started with writing reStructuredText. Many other editors such as `Vim <https://www.vim.org/>`_, `Emacs <https://www.gnu.org/software/emacs/>`_, `VS Code <https://code.visualstudio.com/>`_, and `Atom <https://atom.io/>`_ have addons which can help with syntax highlighting and live previewing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:17
|
||||||
|
msgid "Sphinx"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:19
|
||||||
|
msgid "Sphinx is used to generate a static site based on the ``.rst`` files in the ``docs`` directory. When writing documents, it can be useful to build the site to see how your changes will look in production. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:22
|
||||||
|
msgid "Install Sphinx using `pip <https://pypi.org/project/pip/>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:28
|
||||||
|
msgid "Navigate to your local ``funkwhale/docs`` directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:34
|
||||||
|
msgid "Use the make file to build the site"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:40
|
||||||
|
msgid "Sphinx will generate the site in your ``funkwhale/docs/_build`` directory unless otherwise stated"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:42
|
||||||
|
msgid "Once you have generated a local copy of the site, you can open it up by opening the index.html file in ``funkwhale/docs/_build``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:47
|
||||||
|
msgid "If you are familiar with `Docker <https://www.docker.com/>`_ and `docker-compose <https://docs.docker.com/compose/>`_, you can also hack on the documentation via a single command: ``docker-compose -f dev.yml up docs``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:50
|
||||||
|
msgid "This will make the documentation available at http://0.0.0.0:8001, with live-reloading enabled, so any change made in the ``.rst`` files will be reflected immediately in your browser."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:55
|
||||||
|
msgid "Git"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:57
|
||||||
|
msgid "In order to work on files on your computer, you will need to install `git <https://git-scm.com/>`_ for your operating system. Git is used to push and pull files to and from the Funkwhale repository and track changes made to documents/code alike."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:62
|
||||||
|
msgid "Gitlab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../documentation/tools.rst:64
|
||||||
|
msgid "If you are only making minor changes to a document or don't wish to install anything, you can use `Gitlab's <https://dev.funkwhale.audio>`_ built-in IDE. Once you have made an account and :doc:`created a pull request <creating>`, you can click on the \"Open in Web IDE\" button to open up a fully-fledged editor in your web browser."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,609 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:2
|
||||||
|
msgid "Funkwhale Federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:4
|
||||||
|
msgid "This documentation section is more technical, and targets people who want to understand how Funkwhale's federation works."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:9
|
||||||
|
msgid "Technologies and standards"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:11
|
||||||
|
msgid "Funkwhale's federation is built on top of the following technologies:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:13
|
||||||
|
msgid "`ActivityPub`_ as the high-level federation protocol"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:14
|
||||||
|
msgid "`HTTP Signatures`_ as the primary mean to authenticate messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:15
|
||||||
|
msgid "`Webfinger`_ to easily retrieve resources using human-friendly names"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:16
|
||||||
|
msgid "`ActivityStreams`_ and `ActivityStreams vocabulary`_ as the mean to structure messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:18
|
||||||
|
msgid "Support for the following is planned but not implemented-yet:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:20
|
||||||
|
msgid "`JSON-LD signatures`_ as an alternate mean to authenticate messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:30
|
||||||
|
msgid "Philosophy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:32
|
||||||
|
msgid "Our goal is to stick to the specifications as much as possible, to ensure compatibility with existing applications such as Mastodon, Peertube, Plume, Pleroma or PixelFed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:35
|
||||||
|
msgid "However, this is not always possible for all our use cases. The ActivityPub and ActivityStreams specifications are really high-level and do not always fit our use cases. For such cases, we will use an ad-hoc solution, and document it here."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:39
|
||||||
|
msgid "There are plenty of projects built using ActivityPub, and our goal is not to support all the existing activities. Instead, we want to support activities and objects that make sense for Funkwhale use cases, such as follows or likes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:43
|
||||||
|
msgid "If you think this document is not accurate or find evidence that Funkwhale is not behaving according to the behaviour documented here, please file a bug on our issue tracker, as we consider this a bug."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:48
|
||||||
|
#: ../../federation/index.rst:157
|
||||||
|
#: ../../federation/index.rst:211
|
||||||
|
#: ../../federation/index.rst:266
|
||||||
|
#: ../../federation/index.rst:310
|
||||||
|
#: ../../federation/index.rst:361
|
||||||
|
#: ../../federation/index.rst:445
|
||||||
|
msgid "Internal logic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:50
|
||||||
|
msgid "This section is relevant if you're interested in how we handle things internally in our application code."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:54
|
||||||
|
msgid "Database schema"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:56
|
||||||
|
msgid "As much as possible, we try to map our internal model and database schema to ActivityPub entities, as this makes things easier to deal with."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:59
|
||||||
|
msgid "We store received activities payload directly in the database before we attempt to process or deliver them. Storing the activities unlock some interesting use cases, such as debugging federation issues, replaying deliveries, or reprocess historical activities that were not supported before."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:64
|
||||||
|
msgid "Each local user is bound to an ``Actor``. Remote and local actors share the same database table and all federated entities (such as uploads) are linked to an ``Actor`` and not to a user. This means that, internally, in general, there is no distinction between local and remote users."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:69
|
||||||
|
#: ../../federation/index.rst:98
|
||||||
|
msgid "Links:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:71
|
||||||
|
msgid "`Federation models <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/models.py>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:75
|
||||||
|
msgid "Activity creation and delivery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:77
|
||||||
|
msgid "When a local actor is making an action that should trigger an ``Activity``, which roughly is equivalent to posting an activity to an outbox, we create an object, with the proper payload and store it in our ``Activity`` table. We then trigger two kind of deliveries:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:81
|
||||||
|
msgid "A delivery to local recipients: for each local recipient, we create an ``InboxItem``, linked to the activity. A local actor's feed is then made of all the available inbox items, which can also have a read/unread status"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:84
|
||||||
|
msgid "A delivery to remote recipients: we collect all inboxes and shared inbox urls from remote recipients, and create a ``Delivery`` object in our database, linked to the initial activity and the inbox or shared inbox url. This ``Delivery`` object is then used by our worker to post the activity content to the url."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:88
|
||||||
|
msgid "Receiving an activity from a remote actor in a local inbox is basically the same, but we skip step 2."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:90
|
||||||
|
msgid "Funkwhale does not support all activities, and we have a basic routing logic to handle specific activities, and discard unsupported ones."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:93
|
||||||
|
msgid "If a delivered activity matches one of our routes, a dedicated handler is called, which can trigger additional logic. For instance, if we receive a :ref:`activity-create` activity for an :ref:`object-audio` object, our handler will persist the proper data in our local ``Upload`` table, retrieve the audio cover, etc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:100
|
||||||
|
msgid "`Routing logic for activities <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/routes.py>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:101
|
||||||
|
msgid "`Delivery logic for activities <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/api/funkwhale_api/federation/tasks.py>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:107
|
||||||
|
msgid "Service actor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:109
|
||||||
|
msgid "In some situations, we will send messages or authenticate our fetches using what we call the service actor. A service actor is an ActivityPub actor object that acts on behalf of a Funkwhale server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:113
|
||||||
|
msgid "The actor id usually looks like ``https://yourdomain.com/federation/actors/service``, but the reliable way to determine it is to query the nodeinfo endpoint and use the value available in the ``metadata > actorId`` field."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:117
|
||||||
|
msgid "Funkwhale generally considers that the service actor has authority to send activities associated with any object on the same domain. For instance, the service actor could send a :ref:`activity-delete` activity linked to another users' library on the same domain."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:123
|
||||||
|
msgid "Supported activities"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:128
|
||||||
|
msgid "Follow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:131
|
||||||
|
#: ../../federation/index.rst:181
|
||||||
|
#: ../../federation/index.rst:236
|
||||||
|
#: ../../federation/index.rst:282
|
||||||
|
#: ../../federation/index.rst:332
|
||||||
|
#: ../../federation/index.rst:384
|
||||||
|
msgid "Supported on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:133
|
||||||
|
#: ../../federation/index.rst:387
|
||||||
|
msgid ":ref:`object-Library` objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:136
|
||||||
|
msgid "Example of library follow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:153
|
||||||
|
msgid "In this example, Alice is following the :ref:`object-library` described in ``object``, which is owned by Bob."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:159
|
||||||
|
msgid "When a follow is received on a :ref:`object-Library`, Funkwhale will behave differently depending on the visibility of the library:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:162
|
||||||
|
msgid "Automatic accept, when the library is public: a notification is sent to the library owner, and an :ref:`activity-accept` is sent automatically to the follow actor."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:163
|
||||||
|
msgid "Manual accept, in all other cases: a notification is sent to the library owner. After manual approval from the owner, an :ref:`activity-accept` is sent to the follow actor."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:165
|
||||||
|
msgid "Funkwhale uses library follow status to grant access to the follow actor. If a library is not public and an actor does not have an approved follow, library content will be inaccessible to the actor."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:170
|
||||||
|
#: ../../federation/index.rst:225
|
||||||
|
#: ../../federation/index.rst:271
|
||||||
|
#: ../../federation/index.rst:318
|
||||||
|
#: ../../federation/index.rst:368
|
||||||
|
#: ../../federation/index.rst:451
|
||||||
|
msgid "Checks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:172
|
||||||
|
msgid "Before handling the activity, Funkwhale will ensure the library's owner is the activity recipient."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:178
|
||||||
|
msgid "Accept"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:183
|
||||||
|
#: ../../federation/index.rst:238
|
||||||
|
msgid ":ref:`activity-follow` objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:186
|
||||||
|
#: ../../federation/index.rst:241
|
||||||
|
#: ../../federation/index.rst:287
|
||||||
|
#: ../../federation/index.rst:338
|
||||||
|
#: ../../federation/index.rst:469
|
||||||
|
#: ../../federation/index.rst:499
|
||||||
|
#: ../../federation/index.rst:541
|
||||||
|
#: ../../federation/index.rst:581
|
||||||
|
#: ../../federation/index.rst:626
|
||||||
|
msgid "Example"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:208
|
||||||
|
msgid "In this example, Bob accepts Alice's follow."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:213
|
||||||
|
msgid "When an :ref:`activity-accept` is received with a :ref:`activity-follow` object, the corresponding follow is marked as accepted in the database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:216
|
||||||
|
msgid "For library follows, this means that the actor will receive future activities occurring within this library, such as :ref:`activity-create` :ref:`object-audio`, :ref:`activity-delete` :ref:`object-audio` or :ref:`activity-delete` :ref:`object-library`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:220
|
||||||
|
msgid "The follow actor will also be able to browse the library pages and download the library's audio files. Have a look at :ref:`library-access` for more details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:227
|
||||||
|
msgid "Before handling the activity, Funkwhale will ensure the accept comes from the library's owner."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:233
|
||||||
|
msgid "Undo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:263
|
||||||
|
msgid "In this example, Alice is notifying Bob she's undoing her follow."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:268
|
||||||
|
msgid "When an undo is received, the corresponding follow is deleted from the database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:273
|
||||||
|
msgid "Before handling the activity, Funkwhale will ensure the undo actor is the follow actor."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:279
|
||||||
|
msgid "Create"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:284
|
||||||
|
#: ../../federation/index.rst:386
|
||||||
|
msgid ":ref:`object-audio` objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:307
|
||||||
|
msgid "Refer to :ref:`object-audio` to see the structure of the ``object`` attribute."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:312
|
||||||
|
msgid "When a :ref:`activity-create` is received with an :ref:`object-audio` object, Funkwhale will persist a local upload and bind it to the proper library and track. If no local track match the audio metadata, a track is created using the ``metadata`` attribute from the :ref:`object-audio` object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:320
|
||||||
|
msgid "Before handling the activity, Funkwhale will ensure the activity actor and the audio library's actor are the same."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:323
|
||||||
|
msgid "If no local actor follows the audio's library, the activity will be discarded."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:329
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:334
|
||||||
|
msgid ":ref:`object-library` objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:335
|
||||||
|
msgid ":ref:`object-track` objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:358
|
||||||
|
msgid "Refer to :ref:`object-library` or :ref:`object-track` to see the structure of the ``object`` attribute."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:363
|
||||||
|
msgid "When a :ref:`activity-update` is received with a :ref:`object-library` or :ref:`object-track` object, Funkwhale will try to update the local copy of the corresponding object in it's database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:370
|
||||||
|
msgid "Checks vary depending of the type of object associated with the update."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:372
|
||||||
|
msgid "For :ref:`object-library` objects, we ensure the actor sending the message is the owner of the library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:374
|
||||||
|
msgid "For musical entities such as :ref:`object-track`, we ensure the actor sending the message matches the :ref:`property-attributedTo` property declared on the local copy on the object, or the :ref:`service-actor`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:381
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:390
|
||||||
|
msgid "Example (on :ref:`object-Library`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:412
|
||||||
|
msgid "Example (on :ref:`object-audio`)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:437
|
||||||
|
msgid "In this example, Bob notifies the followers of their library that 3 objects were deleted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:441
|
||||||
|
msgid "For performance reason, when deleting :ref:`object-audio` objects, Funkwhale supports either a list of ids or a single id."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:447
|
||||||
|
msgid "When a :ref:`activity-delete` is received, the corresponding objects are immediately deleted from the database."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:453
|
||||||
|
msgid "Before handling deletion, Funkwhale ensures the actor initiating the activity is the owner of the deleted :ref:`object-audio` or :ref:`object-Library`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:457
|
||||||
|
msgid "Supported objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:462
|
||||||
|
msgid "Artist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:466
|
||||||
|
#: ../../federation/index.rst:496
|
||||||
|
#: ../../federation/index.rst:538
|
||||||
|
msgid "This object is not standard."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:482
|
||||||
|
#: ../../federation/index.rst:521
|
||||||
|
#: ../../federation/index.rst:559
|
||||||
|
#: ../../federation/index.rst:599
|
||||||
|
#: ../../federation/index.rst:649
|
||||||
|
msgid "Structure"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:484
|
||||||
|
msgid "**id** (required): a uri identifying the artist over federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:485
|
||||||
|
msgid "**name** (required): a name for the artist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:486
|
||||||
|
msgid "**published** (required): the publication date of the artist (on the federation)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:487
|
||||||
|
msgid "**musicbrainzId** (optional): the musicbrainz artist id"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:492
|
||||||
|
msgid "Album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:523
|
||||||
|
msgid "**id** (required): a uri identifying the album over federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:524
|
||||||
|
msgid "**name** (required): the title of the album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:525
|
||||||
|
msgid "**artists** (required): a list of :ref:`object-artist` objects involved in the album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:526
|
||||||
|
#: ../../federation/index.rst:564
|
||||||
|
#: ../../federation/index.rst:657
|
||||||
|
msgid "**published** (required): the publication date of the entity (on the federation)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:527
|
||||||
|
msgid "**released** (optional): the release date of the album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:528
|
||||||
|
msgid "**musicbrainzId** (optional): the musicbrainz release id"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:529
|
||||||
|
msgid "**cover** (optional): a `Link` object representing the album cover"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:534
|
||||||
|
msgid "Track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:561
|
||||||
|
msgid "**id** (required): a uri identifying the track over federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:562
|
||||||
|
msgid "**name** (required): the title of the track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:563
|
||||||
|
msgid "**position** (required): the position of the :ref:`object-track` in the album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:565
|
||||||
|
msgid "**musicbrainzId** (optional): the musicbrainz recording id"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:566
|
||||||
|
msgid "**album** (required): the :ref:`object-album` that contains the track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:567
|
||||||
|
msgid "**artists** (required): a list of :ref:`object-artist` objects involved in the track (they can differ from the album artists)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:572
|
||||||
|
msgid "Library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:576
|
||||||
|
msgid "This object is not standard but inherits its behaviour and properties from Actor and Collection."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:601
|
||||||
|
msgid "**id** (required): a uri identifying the library over federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:602
|
||||||
|
msgid "**actor** (required): the id of the actor managing the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:603
|
||||||
|
msgid "**name** (required): the name of the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:604
|
||||||
|
msgid "**followers** (required): the id of the library's followers collection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:605
|
||||||
|
msgid "**totalItems** (required): the number of audio objects available in the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:606
|
||||||
|
msgid "**first** (required): the URL of the first page of the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:607
|
||||||
|
msgid "**last** (required): the URL of the last page of the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:608
|
||||||
|
msgid "**summary** (optional): a description for the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:612
|
||||||
|
msgid "Crawling library pages requires authentication and an approved follow, unless the library is public."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:618
|
||||||
|
msgid "Audio"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:622
|
||||||
|
msgid "This object `is specified in ActivityStreams <https://www.w3.org/TR/activitystreams-vocabulary/#dfn-audio>`_, but Funkwhale needs non-standard attributes to handle it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:651
|
||||||
|
msgid "**id** (required): a uri identifying the audio over federation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:652
|
||||||
|
msgid "**name** (required): a human-friendly title for the audio (We concatenate track name, album title and artist name)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:653
|
||||||
|
msgid "**size** (required, non-standard): the size of the audio, in bytes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:654
|
||||||
|
msgid "**bitrate** (required, non-standard): the bitrate of the audio, in bytes/s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:655
|
||||||
|
msgid "**duration** (required): the duration of the audio, in seconds"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:656
|
||||||
|
msgid "**library** (required, non-standard): the id of the :ref:`object-Library` object that contains the object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:658
|
||||||
|
msgid "**updated** (required): the last update date of the entity (on the federation)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:659
|
||||||
|
msgid "**url** (required): a ``Link`` object with an ``audio/`` mediaType where the audio file is downloadable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:660
|
||||||
|
msgid "**track** (required, non-standard): the :ref:`object-track` the :ref:`object-audio` is bound to"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:664
|
||||||
|
msgid "Accessing the Audio file via its url requires authentication and an approved follow on the containing library, unless the library is public."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:671
|
||||||
|
msgid "Audio fetching on restricted libraries"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:673
|
||||||
|
msgid ":ref:`object-library` and :ref:`object-audio` url objects may require additional authentication to be accessed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:676
|
||||||
|
msgid "For :ref:`object-library` objects:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:678
|
||||||
|
msgid "If the library is public, library pages can be accessed without restriction"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:679
|
||||||
|
msgid "Otherwise, the HTTP request must be signed by an actor with an approved follow on the library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:682
|
||||||
|
msgid "For :ref:`object-audio` url objects:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:684
|
||||||
|
msgid "If the audio's library is public, audio file can be accessed without restriction"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:685
|
||||||
|
msgid "Otherwise, the HTTP request must be signed by an actor with an approved follow on the audio's library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:689
|
||||||
|
msgid "Properties"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:694
|
||||||
|
msgid "attributedTo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:696
|
||||||
|
msgid "Funkwhale will generally use the ``attributedTo`` property to communicate who is responsible for a given object. When an object has the ``attributedTo`` attribute, the associated actor has the permission to :ref:`activity-update`, :ref:`activity-delete` or more generally apply any kind of activity on the object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../federation/index.rst:701
|
||||||
|
msgid "In addition, Funkwhale consider all the objects of a domain as attributed to its corresponding :ref:`service-actor`."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../glossary.md:1
|
||||||
|
msgid "Glossary of terms"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:3
|
||||||
|
msgid "Funkwhale glossary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:0
|
||||||
|
msgid "Pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:7
|
||||||
|
msgid "A pod is an instance of Funkwhale running on a server. Pods can communicate with one another across the {term}`Fediverse`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:12
|
||||||
|
msgid "Channel glossary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:0
|
||||||
|
msgid "Fediverse"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:16
|
||||||
|
msgid "A term used to refer to a collection of federated (interconnected) servers. These servers run software that enables users to publish and host their own content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:3
|
||||||
|
msgid "Podcatcher"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:19
|
||||||
|
msgid "A podcatcher is a piece of software that can read podcast feeds. Podcatchers enable listeners to follow and listen to podcast content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:24
|
||||||
|
msgid "Plugin glossary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:0
|
||||||
|
msgid "Plugin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:28
|
||||||
|
msgid "A plugin is a piece of software that extends the functionality of another piece of software."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:3
|
||||||
|
msgid "Scrobbling"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../glossary.md:31
|
||||||
|
msgid "Scrobbling is the act of recording listen data. Services use this information to keep track of listening preferences and recommend music."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,97 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../index.md:7
|
||||||
|
msgid "User documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:29
|
||||||
|
msgid "Admin documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:41
|
||||||
|
msgid "Moderator documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:58
|
||||||
|
msgid "Developer documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:70
|
||||||
|
msgid "Contributor documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:82
|
||||||
|
msgid "Reference"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:93
|
||||||
|
msgid "Changes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:1
|
||||||
|
msgid "Welcome to Funkwhale's documentation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:3
|
||||||
|
msgid "Funkwhale is a self-hosted audio player and publication platform. It enables users to build libraries of existing content and publish their own."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:5
|
||||||
|
msgid "Funkwhale uses the [ActivityPub protocol](https://www.w3.org/TR/activitypub/) to talk to other apps across the {term}`Fediverse`. Users can share content between {term}`Funkwhale pods <Pod>` or with other Fediverse software."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:109
|
||||||
|
msgid "{fa}`user` Users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:112
|
||||||
|
msgid "Looking to use Funkwhale for your content? Read through our guides to master the app!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:124
|
||||||
|
msgid "{fa}`wrench` Admins"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:127
|
||||||
|
msgid "Want to host your own Funkwhale pod? Our admin documentation guides you through the process."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:138
|
||||||
|
msgid "{fa}`shield` Moderators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:141
|
||||||
|
msgid "Keeping your users safe from harassment and spam or clearing illegal content? Check out our moderator docs."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:152
|
||||||
|
msgid "{fa}`code` Developers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:155
|
||||||
|
msgid "Want to use Funkwhale's API or help with the project? Our developer docs give you what you need to get started."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:167
|
||||||
|
msgid "{fa}`users` Contributors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../index.md:170
|
||||||
|
msgid "Want to help make Funkwhale even better? Check out these guides for some ideas."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,355 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:2
|
||||||
|
msgid "Debian and Arch Linux installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:6
|
||||||
|
msgid "This guide targets Debian 10 (Buster), which is the latest version available, as well as Arch Linux."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:9
|
||||||
|
msgid "Cache setup (Redis)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:11
|
||||||
|
msgid "Funkwhale requires a cache server:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:13
|
||||||
|
msgid "to make the whole system faster, by caching network requests or database queries;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:14
|
||||||
|
msgid "to handle asynchronous tasks such as music import."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:16
|
||||||
|
msgid "On Debian-like distributions, a redis package is available, and you can install it:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:23
|
||||||
|
#: ../../installation/debian.rst:45
|
||||||
|
#: ../../installation/debian.rst:244
|
||||||
|
msgid "On Arch Linux and its derivatives:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:29
|
||||||
|
msgid "This should be enough to have your redis server set up."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:32
|
||||||
|
msgid "Install system dependencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:34
|
||||||
|
msgid "On Debian-like systems, you can install them using:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:56
|
||||||
|
msgid "External Authentication (LDAP)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:58
|
||||||
|
msgid "LDAP support requires some additional dependencies to enable. On the OS level both ``libldap2-dev`` and ``libsasl2-dev`` are required, and the Python modules ``python-ldap`` and ``python-django-auth-ldap`` must be installed. These dependencies are all included in the ``requirements.*`` files so deploying with those will install these dependencies by default. However, they are not required unless LDAP support is explicitly enabled. See :doc:`../admin/ldap` for more details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:61
|
||||||
|
msgid "Installation structure"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:63
|
||||||
|
msgid "All Funkwhale-related files will be located under ``/srv/funkwhale`` apart from database files and a few configuration files. We will also have a dedicated ``funkwhale`` user to launch the processes we need and own those files."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:67
|
||||||
|
msgid "You are free to use different values here, just remember to adapt those in the next steps."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:72
|
||||||
|
msgid "Create the user and the directory:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:79
|
||||||
|
msgid "Log in as the newly created user from now on:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:85
|
||||||
|
msgid "Now let's setup our directory layout. Here is how it will look like::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:94
|
||||||
|
msgid "Create the aforementioned directories:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:100
|
||||||
|
msgid "The ``virtualenv`` directory is a bit special and will be created separately."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:103
|
||||||
|
msgid "Download the latest Funkwhale release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:105
|
||||||
|
msgid "Funkwhale is splitted in two components:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:107
|
||||||
|
msgid "The API, which will handle music storage and user accounts;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:108
|
||||||
|
msgid "The frontend, that will simply connect to the API to interact with its data."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:110
|
||||||
|
msgid "Those components are packaged in subsequent releases, such as 0.1, 0.2, etc. You can browse the :doc:`changelog </changelog>` for a list of available releases and pick the one you want to install, usually the latest one should be okay."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:114
|
||||||
|
msgid "In this guide, we will assume you want to install the latest version of Funkwhale, which is |version|:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:116
|
||||||
|
msgid "First, we will download the latest api release:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:126
|
||||||
|
msgid "Then we will download the frontend files:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:137
|
||||||
|
msgid "You can also choose to get the code directly from the git repo. In this case, run::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:146
|
||||||
|
msgid "The above clone command uses the stable branch instead of the default develop branch, as stable is stable and more suited for production setups."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:148
|
||||||
|
msgid "You'll also need to re-create the folders we make earlier::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:152
|
||||||
|
msgid "You will still need to get the frontend files as specified before, because we're not going to build them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:156
|
||||||
|
msgid "You can leave the ZIP archives in the directory, this will help you know which version you've installed next time you want to upgrade your installation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:160
|
||||||
|
msgid "Install Python dependencies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:162
|
||||||
|
msgid "We use `poetry <https://python-poetry.org/>`_ to manage Python dependencies. Poetry installs packages in a `virtualenv <https://docs.python.org/3/library/venv.html>`_. This prevents collisions with other Python packages on your system. To install poetry, check out `their documentation <https://python-poetry.org/docs/#installation>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:167
|
||||||
|
msgid "By default, poetry creates a virtualenv in `{cache-dir}/virtualenvs`. We recommend creating your virtualenv inside your Funkwhale `api` directory. To do this, navigate to the directory and run the :command:`poetry config virtualenvs.in-project` command."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:177
|
||||||
|
msgid "Poetry creates a virtualenv in `/srv/funkwhale/api/.venv`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:180
|
||||||
|
msgid "To run Funkwhale commands, you need to activate the virtualenv using poetry. To make copying and pasting from this guide easier, we prefix all commands with :command:`poetry run`. If you use :command:`poetry shell` to enter your virtualenv, make sure you remove :command:`poetry run` from each command."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:186
|
||||||
|
msgid "Once you have set up your virtualenv, install the dependencies using :command:`poetry install`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:195
|
||||||
|
msgid "Environment file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:197
|
||||||
|
msgid "You can now start to configure Funkwhale. The main way to achieve that is by adding an environment file that will host settings that are relevant to your installation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:201
|
||||||
|
msgid "Download the sample environment file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:209
|
||||||
|
msgid "if you used git to get the latest version of the code earlier, you can instead do::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:214
|
||||||
|
msgid "Generate a secret key for Django::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:218
|
||||||
|
msgid "You can then edit the file: the file is heavily commented, and the most relevant configuration options are mentioned at the top of the file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:226
|
||||||
|
msgid "Paste the secret key you generated earlier at the entry ``DJANGO_SECRET_KEY`` and populate the ``DATABASE_URL`` and ``CACHE_URL`` values based on how you configured your PostgreSQL and Redis servers in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:232
|
||||||
|
msgid "Database setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:234
|
||||||
|
msgid "Funkwhale requires a PostgreSQL database to work properly. Please refer to the `PostgreSQL documentation <https://www.postgresql.org/download/>`_ for installation instructions specific to your os."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:238
|
||||||
|
msgid "On Debian-like systems, you would install the database server like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:250
|
||||||
|
msgid "On Arch Linux, you'll also need to initialize the database. See `the Arch Linux wiki <https://wiki.archlinux.org/index.php/Postgresql#Initial_configuration>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:252
|
||||||
|
msgid "The remaining steps are heavily inspired from `this Digital Ocean guide <https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:254
|
||||||
|
msgid "Open a database shell:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:260
|
||||||
|
msgid "Create the project database and user:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:270
|
||||||
|
msgid "It's important that you use utf-8 encoding for your database, otherwise you'll end up with errors and crashes later on when dealing with music metadata that contains non-ascii chars."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:274
|
||||||
|
msgid "Assuming you already have :ref:`created your funkwhale user <create-funkwhale-user>`, you should now be able to open a postgresql shell:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:281
|
||||||
|
msgid "Unless you give a superuser access to the database user, you should also enable some extensions on your database server, as those are required for Funkwhale to work properly:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:290
|
||||||
|
msgid "Now that the database has been created, import the initial database structure using the virtualenv created before:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:296
|
||||||
|
msgid "This creates the required tables and rows."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:300
|
||||||
|
msgid "You can safely execute this command any time you want, this will only run unapplied migrations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:305
|
||||||
|
msgid "You may sometimes get the following warning while applying migrations::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:309
|
||||||
|
msgid "This is a warning, not an error, and it can be safely ignored. Never run the ``makemigrations`` command yourself."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:313
|
||||||
|
msgid "Create an admin account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:315
|
||||||
|
msgid "Using the virtualenv created before, create your first user account:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:321
|
||||||
|
msgid "If you ever want to change a user's password from the command line, just run:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:328
|
||||||
|
msgid "Collect static files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:330
|
||||||
|
msgid "Static files are the static assets used by the API server (icon PNGs, CSS, etc.). We need to collect them explicitly, so they can be served by the webserver:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:337
|
||||||
|
msgid "This should populate the directory you choose for the ``STATIC_ROOT`` variable in your ``.env`` file."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:341
|
||||||
|
msgid "Systemd unit file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:345
|
||||||
|
msgid "All the command lines below should be executed as root."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:347
|
||||||
|
msgid "Systemd offers a convenient way to manage your Funkwhale instance if you're not using docker. We'll see how to setup systemd to properly start a Funkwhale instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:350
|
||||||
|
msgid "First, download the sample unitfiles:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:359
|
||||||
|
msgid "This will download three unitfiles:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:361
|
||||||
|
msgid "``funkwhale-server.service`` to launch the Funkwhale web server;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:362
|
||||||
|
msgid "``funkwhale-worker.service`` to launch the Funkwhale task worker;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:363
|
||||||
|
msgid "``funkwhale-beat.service`` to launch the Funkwhale task beat (this is for recurring tasks);"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:364
|
||||||
|
msgid "``funkwhale.target`` to easily stop and start all of the services at once."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:366
|
||||||
|
msgid "You can of course review and edit them to suit your deployment scenario if needed, but the defaults should be fine."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:369
|
||||||
|
msgid "Once the files are downloaded, reload systemd:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:375
|
||||||
|
msgid "And start the services:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:381
|
||||||
|
msgid "To ensure all Funkwhale processes are started automatically after a reboot, run:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:389
|
||||||
|
msgid "You can check the statuses of all processes like this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:396
|
||||||
|
msgid "Reverse proxy setup"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/debian.rst:398
|
||||||
|
msgid "See :ref:`Reverse proxy <reverse-proxy-setup>`."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,204 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:2
|
||||||
|
msgid "Docker installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:4
|
||||||
|
msgid "Docker is the easiest way to get a Funkwhale instance up and running."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:6
|
||||||
|
msgid "We support two types of Docker deployments:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:8
|
||||||
|
msgid ":ref:`Mono-container <docker-mono-container>`: all processes live in the same container (database, nginx, redis, etc.). It's easier to deploy and to integrate with container management systems like Portainer. However, it's not possible to scale this type of deployment on multiple servers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:9
|
||||||
|
msgid ":ref:`Multi-container <docker-multi-container>`: each process lives in a dedicated container. This setup is more involved but also more flexible and scalable."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:13
|
||||||
|
#: ../../installation/docker.rst:23
|
||||||
|
msgid "The All-In-One-Container or Mono-Container installation is deprecated, don't use it for new installations. For more information, visit our blog: https://blog.funkwhale.audio/deprecation-all-in-one-container.html"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:19
|
||||||
|
msgid "Mono-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:28
|
||||||
|
msgid "This installation method was originally contributed by `@thetarkus <https://github.com/thetarkus>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:30
|
||||||
|
msgid "These are the installation steps:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:32
|
||||||
|
#: ../../installation/docker.rst:39
|
||||||
|
msgid "Install docker"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:33
|
||||||
|
#: ../../installation/docker.rst:44
|
||||||
|
msgid "Create ``funkwhale`` user"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:34
|
||||||
|
#: ../../installation/docker.rst:60
|
||||||
|
msgid "Create ``.env`` file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:35
|
||||||
|
#: ../../installation/docker.rst:86
|
||||||
|
msgid "Create ``docker-compose.yml`` file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:36
|
||||||
|
#: ../../installation/docker.rst:117
|
||||||
|
msgid "Start Funkwhale service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:41
|
||||||
|
msgid "Ensure you have `Docker <https://docs.docker.com/engine/installation/>`_ and `docker-compose <https://docs.docker.com/compose/install/>`_ installed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:46
|
||||||
|
msgid "Create the user and the directory:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:53
|
||||||
|
msgid "Log in as the newly created user from now on:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:62
|
||||||
|
msgid "Create a ``.env`` file to store a few important configuration options:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:88
|
||||||
|
msgid "Create a ``docker-compose.yml`` file to set up the containers:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:112
|
||||||
|
msgid "The version can be changed (after ``funkwhale/all-in-one:``), `select the version <https://hub.docker.com/r/funkwhale/all-in-one/tags>`_ you want to deploy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:113
|
||||||
|
msgid "``PUID`` and ``PGID`` are optional but useful to prevent permission issues with docker volumes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:114
|
||||||
|
msgid "``/path/to/your/music/dir`` should point to a path on your host where music you would like to import is located. You can safely remove the volume if you don't want to import music that way."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:119
|
||||||
|
msgid "Start the container:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:125
|
||||||
|
msgid "Your container should start in the background, and your instance be available at ``yourip:5000`` shortly."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:127
|
||||||
|
msgid "You will need an admin account to login and manage your account, create one using the following command: ``docker exec -it funkwhale manage createsuperuser``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:129
|
||||||
|
msgid "Useful commands:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:131
|
||||||
|
msgid "You can start and stop your instance using ``docker-compose start`` and ``docker-compose stop``, respectively"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:132
|
||||||
|
msgid "You can examine the logs by running ``docker logs -f --tail=50 funkwhale``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:133
|
||||||
|
msgid "To have a better idea of the resource usage of your instance (CPU, memory), run ``docker stats funkwhale``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:135
|
||||||
|
#: ../../installation/docker.rst:218
|
||||||
|
msgid "Now, you just need to configure your :ref:`reverse-proxy <reverse-proxy-setup>`. Don't worry, it's quite easy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:140
|
||||||
|
msgid "Multi-container installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:142
|
||||||
|
msgid "First, ensure you have `Docker <https://docs.docker.com/engine/installation/>`_ and `docker-compose <https://docs.docker.com/compose/install/>`_ installed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:144
|
||||||
|
msgid "Export the `version you want <https://hub.docker.com/r/funkwhale/all-in-one/tags>`_ to deploy (e.g., ``0.21``):"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:150
|
||||||
|
msgid "Download the sample docker-compose file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:161
|
||||||
|
msgid "At this point, the architecture of ``/srv/funkwhale`` should look like that:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:171
|
||||||
|
msgid "Create your env file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:181
|
||||||
|
msgid "Ensure to edit it to match your needs (this file is heavily commented), in particular ``DJANGO_SECRET_KEY`` and ``FUNKWHALE_HOSTNAME``. You should take a look at the `configuration reference <https://docs.funkwhale.audio/configuration.html#configuration-reference>`_ for more detailed information regarding each setting."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:184
|
||||||
|
msgid "Then, you should be able to pull the required images:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:190
|
||||||
|
msgid "Run the database container and the initial migrations:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:199
|
||||||
|
msgid "You may sometimes get the following warning while applying migrations::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:203
|
||||||
|
msgid "This is a warning, not an error, and it can be safely ignored. Never run the ``makemigrations`` command yourself."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:206
|
||||||
|
msgid "Create your admin user:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:212
|
||||||
|
msgid "Then launch the whole thing:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:221
|
||||||
|
msgid "About music acquisition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/docker.rst:223
|
||||||
|
msgid "If you want to :doc:`import music located on the server <../admin/importing-music>`, you can put it in the ``data/music`` directory and it will become readable by the importer."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,397 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:2
|
||||||
|
msgid "Installation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:5
|
||||||
|
msgid "Requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:7
|
||||||
|
msgid "Regardless of your chosen installation method, the following is required to successfully deploy Funkwhale:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:10
|
||||||
|
msgid "**A dedicated domain or subdomain**: it is not possible to deploy Funkwhale on a subdirectory of an existing domain."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:11
|
||||||
|
msgid "**Access to ports 80 and/or 443**: if you cannot serve the Funkwhale web app and API on these ports, federation will not work"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:15
|
||||||
|
msgid "Because of the federated nature of Funkwhale, **it is strongly recommended not to change the Funkwhale domain after initial deployment**, as it is likely to break your installation."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:20
|
||||||
|
msgid "Project architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:22
|
||||||
|
msgid "The project relies on the following components and services to work:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:24
|
||||||
|
msgid "A web application server (Python/Django/Gunicorn)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:25
|
||||||
|
msgid "A PostgreSQL database to store application data"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:26
|
||||||
|
msgid "A redis server to store cache and tasks data"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:27
|
||||||
|
msgid "A celery worker to run asynchronous tasks (such as music import)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:28
|
||||||
|
msgid "A celery scheduler to run recurrent tasks"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:29
|
||||||
|
msgid "A `ntp-synced clock <https://wiki.debian.org/NTP>`_ to ensure federation is working seamlessly"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:33
|
||||||
|
msgid "The synced clock is needed for federation purpose, to assess the validity of incoming requests."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:37
|
||||||
|
msgid "Hardware requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:39
|
||||||
|
msgid "Funkwhale is not especially CPU hungry. On a dockerized instance with 2 CPUs and a few active users, the memory footprint is around 500Mb::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:50
|
||||||
|
msgid "Some users have reported running Funkwhale on Raspberry Pis with a memory consumption of less than 350 MiB."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:53
|
||||||
|
msgid "Thus, Funkwhale should run fine on commodity hardware, small hosting boxes and Raspberry Pi. We lack real-world examples of such deployments, so don't hesitate do give us your feedback (either positive or negative)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:57
|
||||||
|
msgid "Check out :doc:`../admin/optimization` for advice on how to tune your instance on small configurations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:61
|
||||||
|
msgid "Software requirements"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:63
|
||||||
|
msgid "Software requirements will vary depending of your installation method. For Docker-based installations, the only requirement will be an Nginx reverse-proxy that will expose your instance to the outside world."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:67
|
||||||
|
msgid "If you plan to install your Funkwhale instance without Docker, most of the dependencies should be available in your distribution's repositories."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:72
|
||||||
|
msgid "Funkwhale works only with Python >= 3.5, as we need support for async/await. Older versions of Python are not supported."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:76
|
||||||
|
msgid "Available installation methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:78
|
||||||
|
msgid "Funkwhale can be installed using one of the following method:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:82
|
||||||
|
msgid "The All-In-One-Container or Mono-Container installation is deprecated, don't use it for new installations. For more information, visit our blog: https://blog.funkwhale.audio/deprecation-all-in-one-container.html"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:85
|
||||||
|
msgid "Quick install, the most straight forward way to get Funkwhale;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:86
|
||||||
|
msgid "Mono-container Docker installation;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:87
|
||||||
|
msgid "Multi-container Docker installation;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:88
|
||||||
|
msgid "Manual Debian and Arch Linux installation;"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:89
|
||||||
|
msgid "`Ansible role <https://dev.funkwhale.audio/funkwhale/ansible/>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:91
|
||||||
|
msgid "Further, Funkwhale packages are available for the following platforms:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:93
|
||||||
|
msgid "`YunoHost 3 <https://yunohost.org/>`_: https://github.com/YunoHost-Apps/funkwhale_ynh (kindly maintained by `@Jibec <https://github.com/Jibec>`_)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:94
|
||||||
|
msgid "ArchLinux (as an AUR package): if you'd rather use a package, check out this alternative installation method on ArchLinux: https://wiki.archlinux.org/index.php/Funkwhale (package and wiki kindly maintained by getzee)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:95
|
||||||
|
msgid "`NixOS <https://github.com/mmai/funkwhale-nixos>`_ (kindly maintained by @mmai)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:96
|
||||||
|
msgid "`Helm chart <https://gitlab.com/ananace/charts/>`_ to install Funkwhale on Kubernetes (kindly maintained by `@ananace <https://gitlab.com/ananace>`_)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:97
|
||||||
|
msgid "`HomelabOS <https://homelabos.com/docs/software/funkwhale/>`_"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:100
|
||||||
|
msgid "Quick install"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:102
|
||||||
|
msgid "To install the latest version of Funkwhale on a recent Debian or Ubuntu server, run::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:108
|
||||||
|
msgid "This installation script will ask you a few questions, install the required dependencies and set up your instance."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:111
|
||||||
|
msgid "Additional info:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:113
|
||||||
|
msgid "This script is based on our `Ansible role <https://dev.funkwhale.audio/funkwhale/ansible/>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:114
|
||||||
|
msgid "By default, the script installs Nginx, PostgreSQL, Redis and Funkwhale itself but you can customize the installation procedure if you already have some of these services available on your machine"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:115
|
||||||
|
msgid "Edit your pod configuration in ``/srv/funkwhale/ansible/playbook.yml`` and apply new configuration with ``sudo /srv/funkwhale/ansible/reconfigure``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:116
|
||||||
|
msgid "Upgrade is done using ``sh -c \"$(curl -sSL https://get.funkwhale.audio/upgrade.sh)\"``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:120
|
||||||
|
msgid "Alternative installation methods"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:130
|
||||||
|
msgid "Running Funkwhale on the develop branch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:132
|
||||||
|
msgid "Traditional deployments are done using tagged releases. However, you may want to benefit from the latest changes available, or to help detect bugs before they are included in actual releases."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:136
|
||||||
|
msgid "To do that, you'll need to run your instance on the develop branch, which contains all the unreleased changes and features of the next version."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:139
|
||||||
|
msgid "Please take into account that the develop branch may be unstable and will contain bugs that may affect the well-being of your instance. If you are comfortable with that, you need to backup at least your database before pulling the latest changes from the develop branch."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:144
|
||||||
|
msgid "Otherwise, the deployment process is similar to deploying with releases. You simply need to use ``export FUNKWHALE_VERSION=develop`` in the installation and upgrade process instead of a real version number, as we build artifacts on the development branch the same way we do for releases."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:149
|
||||||
|
msgid "It's also recommended to check out the `develop release notes <https://dev.funkwhale.audio/funkwhale/funkwhale/blob/develop/changes/notes.rst>`_ before upgrading, since you may have to apply manual actions for your instance to continue to work. Such actions are labelled with ``[manual action required]`` in the releases notes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:155
|
||||||
|
msgid "Serving only the frontend"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:159
|
||||||
|
msgid "You do not need to do this if you are deploying using Docker, as frontend files are already included in the docker image."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:162
|
||||||
|
msgid "You also do not need to do this if you are deploying manually on Debian or Arch, as this is covered by the corresponding documentation already."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:166
|
||||||
|
msgid "Files for the web frontend are purely static and can simply be downloaded, unzipped and served from any webserver:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:177
|
||||||
|
msgid "Reverse proxy configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:179
|
||||||
|
msgid "In order to make Funkwhale accessible from outside your server and to play nicely with other applications on your machine, you should configure a reverse proxy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:183
|
||||||
|
msgid "We offer sample configurations for Nginx, Apache2 and Caddy."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:187
|
||||||
|
msgid "You can freely adapt the proposed configuration to your own needs, as we cannot cover every use case with a single template, especially when it's related to SSL configuration."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:192
|
||||||
|
msgid "Nginx"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:194
|
||||||
|
msgid "Ensure you have a recent version of nginx on your server. On a Debian-based system use apt:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:202
|
||||||
|
msgid "On Arch Linux and its derivatives:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:208
|
||||||
|
msgid "To avoid configuration errors at this level, we will generate an nginx configuration using your .env file. This will ensure your reverse-proxy configuration always matches the application configuration and makes upgrade/maintenance easier."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:215
|
||||||
|
msgid "The following commands need to be run as superuser."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:217
|
||||||
|
msgid "On docker deployments, run the following commands:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:237
|
||||||
|
msgid "On non-docker deployments, run the following commands:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:259
|
||||||
|
msgid "The resulting file should not contain any variables such as ``${FUNKWHALE_HOSTNAME}``. You can check that using this command::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:264
|
||||||
|
msgid "Finally, enable the resulting configuration:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:272
|
||||||
|
msgid "If you plan to use in-place import, ensure the alias value in the ``_protected/music`` location matches your MUSIC_DIRECTORY_SERVE_PATH env var."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:276
|
||||||
|
msgid "Finally, check that the configuration is valid with ``nginx -t`` then reload your nginx server with ``sudo systemctl reload nginx``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:279
|
||||||
|
msgid "Music (and other static) files are never served by the app itself, but by the reverse proxy. This is needed because a webserver is way more efficient at serving files than a Python process."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:283
|
||||||
|
msgid "However, we do want to ensure users have the right to access music files, and it can't be done at the proxy's level. To tackle this issue, `we use nginx's internal directive <http://nginx.org/en/docs/http/ngx_http_core_module.html#internal>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:287
|
||||||
|
msgid "When the API receives a request on its music serving endpoint, it will check that the user making the request can access the file. Then, it will return an empty response with a ``X-Accel-Redirect`` header. This header will contain the path to the file to serve to the user, and will be picked by nginx, but never sent back to the client."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:293
|
||||||
|
msgid "Using this technique, we can ensure music files are covered by the authentication and permission policy of your instance, while remaining as performant as possible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:298
|
||||||
|
msgid "Apache2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:302
|
||||||
|
msgid "These instructions are for Debian only. For Arch Linux please refer to the `Arch Linux wiki <https://wiki.archlinux.org/index.php/Apache>`_."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:305
|
||||||
|
msgid "Ensure you have a recent version of Apache2 installed on your server. You'll also need the following dependencies::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:310
|
||||||
|
msgid "Add the following to your ``.env`` file::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:314
|
||||||
|
msgid "Then restart Funkwhale. This is needed to ensure Funkwhale provides proper headers for media file serving."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:317
|
||||||
|
msgid "Then, download our sample virtualhost file:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:324
|
||||||
|
msgid "Tweak the configuration file according to your setup, especially the TLS configuration. Otherwise, defaults should work if you followed the installation guide."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:328
|
||||||
|
msgid "Check the configuration with ``apache2ctl configtest`` and once you're done, load the new configuration with ``service apache2 restart``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:333
|
||||||
|
msgid "Caddy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:335
|
||||||
|
msgid "We currently do not support a Caddy-only setup, but you can `help develop it <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/1384>`_!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:338
|
||||||
|
msgid "To employ Caddy as a reverse proxy in front of your docker containers (either mono- or multi-container setup), use the following Caddyfile configuration:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:342
|
||||||
|
msgid "Caddy v2::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:348
|
||||||
|
msgid "Caddy v1::"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:359
|
||||||
|
msgid "HTTPS configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:361
|
||||||
|
msgid "After configuring the reverse proxy, you need a SSL certificate to enable HTTPS on your server (unless you use Caddy, which handles them automatically)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:365
|
||||||
|
msgid "The default reverse proxy configuration assumes you have those available at ``/etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/``, which is the path used by `certbot <https://certbot.eff.org/docs/>`_ when generating certificates with Let's Encrypt."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:368
|
||||||
|
msgid "If you already have a certificate you would like to use, simply update the reverse proxy configuration and replace the following values with the proper paths: - For nginx: ``ssl_certificate`` and ``ssl_certificate_key``; - For Apache2: ``SSLCertificateFile`` and ``SSLCertificateKeyFile``."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:373
|
||||||
|
msgid "If you don't have one, comment or remove the lines starting with ``ssl_certificate`` and ``ssl_certificate_key`` for nginx, and ``SSLCertificateFile`` and ``SSLCertificateKeyFile`` for Apache2. You can then proceed to generate a certificate, as shown below. These instructions are provided by `certbot <https://certbot.eff.org/instructions>`:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/index.rst:389
|
||||||
|
msgid "This creates a valid certificate and edit the nginx or Apache2 configuration to use the new certificate. The certificate will be automatically renewed when they expire."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,58 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:2
|
||||||
|
msgid "Running Funkwhale on non amd64 architectures"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:4
|
||||||
|
msgid "Funkwhale should be runnable on any architecture assuming Funkwhale installation dependencies are satisfied."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:6
|
||||||
|
msgid "On non-docker deployments (e.g. when deploying on debian), this should be completely transparent."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:8
|
||||||
|
msgid "On docker deployments, you will need to build Funkwhale's image yourself, because we don't provide pre-built multi-arch images on the Docker Hub yet. The build process itself only requires git, Docker and is described below."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:13
|
||||||
|
msgid "Building the mono-process Docker image (funkwhale/funkwhale)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:15
|
||||||
|
msgid "This image is intended to be used in conjunction with our :ref:`Multi-container installation guide <docker-multi-container>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:23
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:61
|
||||||
|
msgid "Replace by develop for building a development branch image."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:44
|
||||||
|
msgid "Building the mono-container Docker image (funkwhale/all-in-one)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:48
|
||||||
|
msgid "The All-In-One-Container or Mono-Container installation is deprecated, don't use it for new installations. For more information, visit our blog: https://blog.funkwhale.audio/deprecation-all-in-one-container.html"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../installation/non_amd64_architectures.rst:51
|
||||||
|
msgid "This image is intended to be used in conjunction with our :ref:`Mono-container installation guide <docker-mono-container>`. guide."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,124 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:1
|
||||||
|
msgid "Add a domain to your allow-list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:3
|
||||||
|
msgid "If you have allow-listing enabled, you need to add a domain to your allow-list to interact with it. You can add new domains in two ways:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:13
|
||||||
|
msgid "Add a new domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:15
|
||||||
|
msgid "To add a domain that is not currently in your domains list:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:0
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:19
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:31
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:49
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:61
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:20
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:50
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:21
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:33
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:51
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:63
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:22
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:34
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:52
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:64
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:23
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:35
|
||||||
|
msgid "Enter the URL of the Fediverse server you want to add in the {guilabel}`Add a domain` field."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:24
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:36
|
||||||
|
msgid "Check ({fa}`check-square`) the checkbox labeled {guilabel}`Add to allow-list`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:25
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:37
|
||||||
|
msgid "Select {guilabel}`Add`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:0
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:32
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:62
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:41
|
||||||
|
msgid "That's it! You've added the domain to your pod's allow-list."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:43
|
||||||
|
msgid "Add a known domain"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:45
|
||||||
|
msgid "To add a domain that is already in your pod's domain list:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:53
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:65
|
||||||
|
msgid "Check ({fa}`check-square`) the checkbox next to the domain(s) you want to add to the allow-list."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:54
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:66
|
||||||
|
msgid "Select {guilabel}`Add to allow-list` in the {guilabel}`Actions` dropdown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:55
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:67
|
||||||
|
msgid "Select {guilabel}`Go`. A green tick ({fa}`check`) appears next to the domain(s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/add_domain.md:71
|
||||||
|
msgid "You're done! You've added the domain to your pod's allow-list."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,34 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/index.md:7
|
||||||
|
#: ../../moderator_documentation/allow_listing/index.md:7
|
||||||
|
msgid "Manage your pod's allow-list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/index.md:1
|
||||||
|
msgid "Allow-listing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/index.md:3
|
||||||
|
msgid "By default, Funkwhale communicates with all reachable pods on the {term}`Fediverse`. If you want to lock down which pods you interact with, your pod admin can enable __allow-listing__. With this enabled, only pods on your allow-list can interact with your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/index.md:5
|
||||||
|
msgid "If you didn't use allow-listing before, you can remove all content from pods not on your list. Check out our guide on [purging content](../domains/purge_domain.md) to remove this content."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,83 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:1
|
||||||
|
msgid "Remove a domain from your allow-list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:3
|
||||||
|
msgid "You can remove a domain from your {term}`pod's <Pod>` allow-list to stop communicating with it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:9
|
||||||
|
msgid "To remove a domain from your allow-list:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:13
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:25
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:14
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:15
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:27
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:16
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:28
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:17
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:29
|
||||||
|
msgid "Check ({fa}`check-square`) the checkbox next to the domain(s) you want to add to the allow-list."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:18
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:30
|
||||||
|
msgid "Select {guilabel}`Remove from allow-list` in the {guilabel}`Actions` dropdown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:19
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:31
|
||||||
|
msgid "Select {guilabel}`Go`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:26
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/allow_listing/remove_domain.md:35
|
||||||
|
msgid "You're done! You've removed the domain from your pod's allow-list."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,197 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:1
|
||||||
|
msgid "Delete content from your pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:4
|
||||||
|
msgid "Deleting content from your pod deletes the files from the server. Deleting objects like channels and libraries deletes all associated content. This action is irreversible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:7
|
||||||
|
msgid "Moderators can delete content from their {term}`pod` if required. Use this feature to handle content that violates your pod's rules."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:11
|
||||||
|
msgid "{guilabel}`Library` – provides access to the library menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:14
|
||||||
|
msgid "There are two ways to delete content:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:20
|
||||||
|
msgid "Delete individual objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:22
|
||||||
|
msgid "If you want to delete a specific object:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:0
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:26
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:46
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:72
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:93
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:27
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:73
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:28
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:48
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:74
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:95
|
||||||
|
msgid "Select {guilabel}`Library`. The {guilabel}`Edits` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:29
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:49
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:75
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:96
|
||||||
|
msgid "Select the type of content you want to delete from the top of the page:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:30
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:50
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:76
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:97
|
||||||
|
msgid "{guilabel}`Channels`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:31
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:51
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:77
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:98
|
||||||
|
msgid "{guilabel}`Artists`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:32
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:52
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:78
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:99
|
||||||
|
msgid "{guilabel}`Albums`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:33
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:53
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:79
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:100
|
||||||
|
msgid "{guilabel}`Tracks`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:34
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:54
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:80
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:101
|
||||||
|
msgid "{guilabel}`Libraries`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:35
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:55
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:81
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:102
|
||||||
|
msgid "{guilabel}`Uploads`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:36
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:56
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:82
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:103
|
||||||
|
msgid "{guilabel}`Tags`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:37
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:57
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:83
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:104
|
||||||
|
msgid "Use the filters on the content page to find the object you want to delete."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:38
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:58
|
||||||
|
msgid "Select the object to go to its moderation page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:39
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:59
|
||||||
|
msgid "Select {guilabel}`Delete`. A {guilabel}`Delete this {object}` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:40
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:60
|
||||||
|
msgid "Select {guilabel}`Delete`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:0
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:47
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:94
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:64
|
||||||
|
msgid "That's it! You've deleted the object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:66
|
||||||
|
msgid "Delete objects in bulk"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:68
|
||||||
|
msgid "To delete several items at once:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:84
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:105
|
||||||
|
msgid "Select the checkbox ({fa}`square`) next to the objects you want to delete. Selected objects show a tick ({fa}`check-square`)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:85
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:106
|
||||||
|
msgid "Select {guilabel}`Delete` in the {guilabel}`Actions` dropdown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:86
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:107
|
||||||
|
msgid "Select {guilabel}`Go`. A {guilabel}`Do you want to launch delete on {count} items` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:87
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:108
|
||||||
|
msgid "Select {guilabel}`Launch`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/delete_content.md:112
|
||||||
|
msgid "You're done! You've deleted the selected objects from your pod."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,123 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:1
|
||||||
|
msgid "Handle edits"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:4
|
||||||
|
msgid "Users can edit content in their own libraries. Moderators don't need to approve these edits. The edits appear in the __Edits__ queue to give admins and moderators a full timeline of changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:7
|
||||||
|
msgid "Users can suggest metadata edits on objects they can access. When a user suggests an edit, it's sent to the __Edits__ queue for review. Moderators and pod admins can accept or reject these edits."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:11
|
||||||
|
msgid "{guilabel}`Library` – provides access to the library menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:14
|
||||||
|
msgid "Each edit object contains the following information:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:16
|
||||||
|
msgid "A {guilabel}`Modification` ID – the unique ID of the modification. Select this to show the modification in context with the edited object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:17
|
||||||
|
msgid "A timestamp of when the user suggested the edit."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:18
|
||||||
|
msgid "The status of the edit."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:19
|
||||||
|
msgid "The {guilabel}`Field` that the user edited."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:20
|
||||||
|
msgid "The {guilabel}`Old value` that the user edited."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:21
|
||||||
|
msgid "The {guilabel}`New value` that the user entered."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:22
|
||||||
|
msgid "The user who suggested the edit."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:24
|
||||||
|
msgid "To review suggested edits:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:28
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:40
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:29
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:30
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:42
|
||||||
|
msgid "Select {guilabel}`Library`. The {guilabel}`Edits` page opens. The {guilabel}`Library edits` section displays a list of unresolved edits."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:31
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:43
|
||||||
|
msgid "Review the edit and select on of the following options:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:32
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:44
|
||||||
|
msgid "{guilabel}`Approve` – approve the edit and apply it to the object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:33
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:45
|
||||||
|
msgid "{guilabel}`Reject` – reject the edit and leave the object in its current state."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:34
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:46
|
||||||
|
msgid "{guilabel}`Delete` – delete the edit suggestion without taking further action. The object remains in its current state."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:41
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/handle_edits.md:50
|
||||||
|
msgid "That's it! You've handled the edit request. You can use the filters on this page to search for historical requests."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,30 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/index.md:5
|
||||||
|
#: ../../moderator_documentation/content/index.md:5
|
||||||
|
msgid "Manage your pod's content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/index.md:1
|
||||||
|
msgid "Moderate content on your pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/index.md:3
|
||||||
|
msgid "If you have the __Library__ permission, you can change content on your pod. Use this permission to hide copyrighted content and remove offensive material."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,101 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:1
|
||||||
|
msgid "Change the visibility of a library"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:4
|
||||||
|
msgid "You can only change the visibility of libraries stored on your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:7
|
||||||
|
msgid "If a user has put copyrighted material in a public library, you can change the visibility of the library. This lets the user keep the content and protects your pod from legal issues."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:11
|
||||||
|
msgid "{guilabel}`Library` – provides access to the library menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:14
|
||||||
|
msgid "To change the visibility of a library:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:18
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:32
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:19
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:20
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:34
|
||||||
|
msgid "Select {guilabel}`Library`. The {guilabel}`Edits` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:21
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:35
|
||||||
|
msgid "Select {guilabel}`Libraries` at the top of the page. The {guilabel}`Libraries` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:22
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:36
|
||||||
|
msgid "Select the library you want to update. The library's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:23
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:37
|
||||||
|
msgid "Select one of the following options from the {guilabel}`Visibility` dropdown menu:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:24
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:38
|
||||||
|
msgid "{guilabel}`Private` – makes the library visible only to the owner and anyone they have shared it with."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:25
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:39
|
||||||
|
msgid "{guilabel}`Instance` – makes the library visible only to users who have an account on your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:26
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:40
|
||||||
|
msgid "{guilabel}`Everyone` – makes the library visible to users across all pods."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:33
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/content/library_visibility.md:44
|
||||||
|
msgid "That's it! You've updated the library's visibility. You should contact the user informing them of the action."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,78 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:1
|
||||||
|
msgid "Add a domain to your pod's domain list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:3
|
||||||
|
msgid "Funkwhale records the domains of other {term}`Fediverse` servers when users interact with them. Once a domain is in your domains list, you can [add moderation rules](add_rules.md) to it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:9
|
||||||
|
msgid "You can also add domains to this list at any time to create rules before users interact with them. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:13
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:24
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:14
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:15
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:26
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:16
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:27
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:17
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:28
|
||||||
|
msgid "Enter the URL of the Fediverse server you want to add in the {guilabel}`Add a domain` field."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:18
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:29
|
||||||
|
msgid "Select {guilabel}`Add` to add the domain. The domain moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:25
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the page to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_domain.md:33
|
||||||
|
msgid "That's it! The domain is now in your domains list. You can now add moderation rules to this domain."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,107 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:1
|
||||||
|
msgid "Add a moderation rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:4
|
||||||
|
msgid "Purging a domain's data removes all objects and caches associated to that domain. This impacts users who have objects from these domains in their libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:7
|
||||||
|
msgid "Add moderation rules to domains to control how they can interact with your {term}`pod`. Moderation rules enable you to restrict content from a domain showing on your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:13
|
||||||
|
msgid "To add a moderation rule to a domain:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:17
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:33
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:18
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:19
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:35
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:20
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:36
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:21
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:37
|
||||||
|
msgid "Select the domain you want to apply the rule to. The domain's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:22
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:38
|
||||||
|
msgid "Select {guilabel}`Add a moderation policy`. The moderation policy form appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:23
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:39
|
||||||
|
msgid "Enter the {guilabel}`Reason` you are applying the rule. Depending on your pod's configuration, users may be able to see this."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:24
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:40
|
||||||
|
msgid "Choose your moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:25
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:41
|
||||||
|
msgid "{guilabel}`Block everything` – purge all content from the domain and block all content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:26
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:42
|
||||||
|
msgid "{guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:27
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:43
|
||||||
|
msgid "Select {guilabel}`Create` to save your rule."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:34
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/add_rule.md:47
|
||||||
|
msgid "That's all there is to it! You've applied your moderation rule. The rule takes effect as soon as you create it."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,88 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:1
|
||||||
|
msgid "Delete a moderation rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:3
|
||||||
|
msgid "If you no longer need a moderation rule, you can delete it completely. This allows the other server to interact with your pod normally."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:9
|
||||||
|
msgid "To delete an existing moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:13
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:26
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:14
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:15
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:28
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:16
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:29
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:17
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:30
|
||||||
|
msgid "Select the domain with the moderation rule you want to edit. The domain's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:18
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:31
|
||||||
|
msgid "Select {guilabel}`Edit` under the {guilabel}`This domain is subject to specific moderation rules` header. The moderation policy form opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:19
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:32
|
||||||
|
msgid "Select {guilabel}`Delete`. A {guilabel}`Delete this moderation rule?` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:20
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:33
|
||||||
|
msgid "Select {guilabel}`Delete moderation rule`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:27
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/delete_rule.md:37
|
||||||
|
msgid "That's it! You've deleted your moderation rule. Content from the domain will no longer get blocked."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,117 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:1
|
||||||
|
msgid "Edit a moderation rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:4
|
||||||
|
msgid "Purging a domain's data removes all objects and caches associated to that domain. This impacts users who have objects from these domains in their libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:7
|
||||||
|
msgid "You can change a moderation rule on a domain at any time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:13
|
||||||
|
msgid "To update an existing moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:17
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:35
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:18
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:19
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:37
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:20
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:38
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:21
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:39
|
||||||
|
msgid "Select the domain with the moderation rule you want to edit. The domain's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:22
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:40
|
||||||
|
msgid "Select {guilabel}`Edit` under the {guilabel}`This domain is subject to specific moderation rules` header. The moderation policy form opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:23
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:41
|
||||||
|
msgid "__Optional__ – Edit the following settings:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:24
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:42
|
||||||
|
msgid "{guilabel}`Enabled` – toggle this switch to enable or disable the rule without deleting it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:25
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:43
|
||||||
|
msgid "{guilabel}`Reason` – update the reason for the moderation rule."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:26
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:44
|
||||||
|
msgid "__Optional__ – Update your moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:27
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:45
|
||||||
|
msgid "{guilabel}`Block everything` – purge all content from this domain and block all content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:28
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:46
|
||||||
|
msgid "{guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:29
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:47
|
||||||
|
msgid "Select {guilabel}`Update` to save your rule."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:36
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/edit_rule.md:51
|
||||||
|
msgid "You're done! The changes to the rule take effect as soon as you update it."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,35 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/index.md:5
|
||||||
|
#: ../../moderator_documentation/domains/index.md:5
|
||||||
|
msgid "Manage external domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/index.md:16
|
||||||
|
#: ../../moderator_documentation/domains/index.md:16
|
||||||
|
msgid "Manage moderation rules"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/index.md:1
|
||||||
|
msgid "Moderate external domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/index.md:3
|
||||||
|
msgid "You can add moderation rules to control how your {term}`pod` interacts with other domains. Use these rules to control access to content and interaction with users on other pods."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,92 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:1
|
||||||
|
msgid "Purge domain data"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:4
|
||||||
|
msgid "Purging a domain's data removes all objects and caches associated to that domain. This impacts users who have objects from these domains in their libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:7
|
||||||
|
msgid "When users follow content from another domain that content is visible on your {term}`pod`. If a domain hosts illegal or offensive content you can purge the content associated with it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:13
|
||||||
|
msgid "To purge content from a domain:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:17
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:30
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:18
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:19
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:32
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:20
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:33
|
||||||
|
msgid "Select {guilabel}`Domains` at the top of the page. The {guilabel}`Domains` page opens. You can see a list of known domains on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:21
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:34
|
||||||
|
msgid "Select the checkbox ({fa}`square`) next to the domain(s) you want to purge. Selected domains show a tick ({fa}`check-square`)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:22
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:35
|
||||||
|
msgid "Select {guilabel}`Purge` in the {guilabel}`Actions` dropdown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:23
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:36
|
||||||
|
msgid "Select {guilabel}`Go`. A {guilabel}`Do you want to launch purge on {count} items` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:24
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:37
|
||||||
|
msgid "Select {guilabel}`Launch`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:31
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/domains/purge_domain.md:41
|
||||||
|
msgid "You're done! Your pod clears all the content associated with the selected domains."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,107 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:1
|
||||||
|
msgid "Add a moderation rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:4
|
||||||
|
msgid "Purging a user's data removes all objects and caches associated to that user. This impacts users who have objects from these users in their libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:7
|
||||||
|
msgid "Add moderation rules to users to control how they can interact with your {term}`pod`. Moderation rules enable you to restrict content from a user showing on your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:13
|
||||||
|
msgid "To add a moderation rule to a user:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:17
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:33
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:18
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:19
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:35
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:20
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:36
|
||||||
|
msgid "Select {guilabel}`Accounts` at the top of the page. The {guilabel}`Accounts` page opens. You can see a list of known accounts on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:21
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:37
|
||||||
|
msgid "Select the account you want to apply the rule to. The account's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:22
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:38
|
||||||
|
msgid "Select {guilabel}`Add a moderation policy`. The moderation policy form appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:23
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:39
|
||||||
|
msgid "Enter the {guilabel}`Reason` you are applying the rule. Depending on your pod's configuration, users may be able to see this."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:24
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:40
|
||||||
|
msgid "Choose your moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:25
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:41
|
||||||
|
msgid "{guilabel}`Block everything` – purge all content from the user and block all content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:26
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:42
|
||||||
|
msgid "{guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:27
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:43
|
||||||
|
msgid "Select {guilabel}`Create` to save your rule."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:34
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/add_rule.md:47
|
||||||
|
msgid "That's all there is to it! You've applied your moderation rule. The rule takes effect as soon as you create it."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,88 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:1
|
||||||
|
msgid "Delete a moderation rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:3
|
||||||
|
msgid "If you no longer need a moderation rule, you can delete it completely. This allows the user to interact with your pod normally."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:9
|
||||||
|
msgid "To delete an existing moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:13
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:26
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:14
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:15
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:28
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:16
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:29
|
||||||
|
msgid "Select {guilabel}`Users` at the top of the page. The {guilabel}`Users` page opens. You can see a list of known users on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:17
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:30
|
||||||
|
msgid "Select the user with the moderation rule you want to edit. The user's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:18
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:31
|
||||||
|
msgid "Select {guilabel}`Edit` under the {guilabel}`This user is subject to specific moderation rules` header. The moderation policy form opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:19
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:32
|
||||||
|
msgid "Select {guilabel}`Delete`. A {guilabel}`Delete this moderation rule?` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:20
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:33
|
||||||
|
msgid "Select {guilabel}`Delete moderation rule`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:27
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/delete_rule.md:37
|
||||||
|
msgid "That's it! You've deleted your moderation rule. Content from the user will no longer get blocked."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,117 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:1
|
||||||
|
msgid "Edit a moderation rule"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:4
|
||||||
|
msgid "Purging a user's data removes all objects and caches associated to that user. This impacts users who have objects from these users in their libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:7
|
||||||
|
msgid "You can change a moderation rule on a user at any time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:13
|
||||||
|
msgid "To update an existing moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:17
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:35
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:18
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:19
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:37
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:20
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:38
|
||||||
|
msgid "Select {guilabel}`Users` at the top of the page. The {guilabel}`Users` page opens. You can see a list of known users on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:21
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:39
|
||||||
|
msgid "Select the user with the moderation rule you want to edit. The user's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:22
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:40
|
||||||
|
msgid "Select {guilabel}`Edit` under the {guilabel}`This user is subject to specific moderation rules` header. The moderation policy form opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:23
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:41
|
||||||
|
msgid "__Optional__ – Edit the following settings:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:24
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:42
|
||||||
|
msgid "{guilabel}`Enabled` – toggle this switch to enable or disable the rule without deleting it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:25
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:43
|
||||||
|
msgid "{guilabel}`Reason` – update the reason for the moderation rule."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:26
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:44
|
||||||
|
msgid "__Optional__ – Update your moderation rule:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:27
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:45
|
||||||
|
msgid "{guilabel}`Block everything` – purge all content from this user and block all content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:28
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:46
|
||||||
|
msgid "{guilabel}`Reject media` – only reject media files such as audio files, avatars, and album art."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:29
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:47
|
||||||
|
msgid "Select {guilabel}`Update` to save your rule."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:36
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/edit_rule.md:51
|
||||||
|
msgid "You're done! The changes to the rule take effect as soon as you update it."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,35 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/index.md:5
|
||||||
|
#: ../../moderator_documentation/external_users/index.md:5
|
||||||
|
msgid "Manage external users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/index.md:15
|
||||||
|
#: ../../moderator_documentation/external_users/index.md:15
|
||||||
|
msgid "Manage moderation rules"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/index.md:1
|
||||||
|
msgid "Moderate external users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/index.md:3
|
||||||
|
msgid "You can add moderation rules to control how external users can interact with your {term}`pod`. This lets you filter users from other pods without applying rules to their whole [domain](../domains/index.md)."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,92 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:1
|
||||||
|
msgid "Purge user data"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:4
|
||||||
|
msgid "Purging a user's data removes all objects and caches associated to that user. This impacts users who have objects from these users in their libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:7
|
||||||
|
msgid "When users follow users from another domain their content is visible on your {term}`pod`. If a user posts illegal or offensive content you can purge the content associated with them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:13
|
||||||
|
msgid "To purge a user's content:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:17
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:30
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:18
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:19
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:32
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:20
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:33
|
||||||
|
msgid "Select {guilabel}`Accounts` at the top of the page. The {guilabel}`Accounts` page opens. You can see a list of known accounts on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:21
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:34
|
||||||
|
msgid "Select the checkbox ({fa}`square`) next to the account(s) you want to purge. Selected accounts show a tick ({fa}`check-square`)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:22
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:35
|
||||||
|
msgid "Select {guilabel}`Purge` in the {guilabel}`Actions` dropdown."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:23
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:36
|
||||||
|
msgid "Select {guilabel}`Go`. A {guilabel}`Do you want to launch purge on {count} element(s)` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:24
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:37
|
||||||
|
msgid "Select {guilabel}`Launch`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:31
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/external_users/purge_users.md:41
|
||||||
|
msgid "You're done! Your pod clears all the content associated with the selected users."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,85 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:1
|
||||||
|
msgid "Get started"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:3
|
||||||
|
msgid "{term}`Pod` moderators are responsible for enforcing the rules of a pod. Moderation permissions enable moderators to provide specific tasks:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:5
|
||||||
|
msgid "{guilabel}`Moderation` – enables the moderator to moderate users, domains, and the allow-list."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:6
|
||||||
|
msgid "{guilabel}`Library` – enables the moderator to make changes to library content. This includes deleting local objects and handling edit suggestions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:8
|
||||||
|
msgid "Follow the guides in our moderator documentation to handle moderation tasks."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:14
|
||||||
|
msgid "Handle user reports"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:16
|
||||||
|
msgid "One of the most important duties of a moderator is handling reports. If a user finds content that violates your pod's rules or the law, they can report it. Users can also report other users if they have broken the rules of your pod. Follow the guides in the [Reports](reports/index.md) section to learn how to handle these reports."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:18
|
||||||
|
msgid "Moderate your pod's users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:20
|
||||||
|
msgid "As a moderator, you are responsible for moderating the behavior of users on your pod. Funkwhale provides you with tools to help you handle users that violate your pod's rules. Check out our [Moderate your pod's users](internal_users/index.md) section for more information."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:22
|
||||||
|
msgid "Moderate content on your pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:24
|
||||||
|
msgid "Funkwhale's moderation tools enable moderators to handle the content on a pod. This means you can update, delete, or hide content. It also enables you to approve or reject edits submitted by users on your pod. Check out the guides in the [Moderate content on your pod](content/index.md) for more information."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:26
|
||||||
|
msgid "Moderate external domains"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:28
|
||||||
|
msgid "As {term}`fediverse` software, Funkwhale interacts with other software over federation. Read through the [Moderate external domains](domains/index.md) section to handle content from other servers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:30
|
||||||
|
msgid "Moderate external users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:32
|
||||||
|
msgid "You can moderate how external users interact with users on your pod. Check out the [Moderate external users](external_users/index.md) guides to learn how to manage users from other servers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:34
|
||||||
|
msgid "Manage your allow-list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/index.md:36
|
||||||
|
msgid "If your pod admin has set up allow-listing, you can add and remove domains from your pod's list. Follow the guides in the [Allow-listing](allow_listing/index.md) section to learn how to handle your allow-list."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,143 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:1
|
||||||
|
msgid "Handle user registrations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:3
|
||||||
|
msgid "{term}`Pod` admins can enable manual sign-up validation. This setting requires moderators to approve or refuse account creations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:9
|
||||||
|
msgid "Requests appear in the {guilabel}`User Requests` list. Each request contains the following information:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:11
|
||||||
|
msgid "The user the request was {guilabel}`Submitted by`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:12
|
||||||
|
msgid "The {guilabel}`Creation date` of the request."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:13
|
||||||
|
msgid "__Optional__ – any responses the user left to fields in the sign-up form."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:14
|
||||||
|
msgid "The {guilabel}`Status` of the request."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:15
|
||||||
|
msgid "Which moderator the request is {guilabel}`Assigned to`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:16
|
||||||
|
msgid "The {guilabel}`Resolution date` of the request."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:17
|
||||||
|
msgid "Any {guilabel}`Internal notes` left by the moderators."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:23
|
||||||
|
msgid "Approve a sign-up request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:25
|
||||||
|
msgid "To approve a sign-up request:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:0
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:29
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:40
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:57
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:68
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:30
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:58
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:31
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:42
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:59
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:70
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:32
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:43
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:60
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:71
|
||||||
|
msgid "Select {guilabel}`User Requests` at the top of the screen. A list of pending requests appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:33
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:44
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:61
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:72
|
||||||
|
msgid "Read through the details of the request."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:34
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:45
|
||||||
|
msgid "Select {guilabel}`Approve` in the {guilabel}`Actions` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:0
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:41
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:69
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:49
|
||||||
|
msgid "That's it! You've approved the user's sign-up request. The user can now log in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:51
|
||||||
|
msgid "Refuse a sign-up request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:53
|
||||||
|
msgid "To refuse a sign-up request:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:62
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:73
|
||||||
|
msgid "Select {guilabel}`Refuse` in the {guilabel}`Actions` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/handle_registration.md:77
|
||||||
|
msgid "That's it! You've refused the user's sign-up request. The user can't log in to your pod."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,39 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:7
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:7
|
||||||
|
msgid "Moderate users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:17
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:17
|
||||||
|
msgid "Handle user registrations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:1
|
||||||
|
msgid "Moderate your pod's users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:3
|
||||||
|
msgid "Funkwhale provides you the tools you need to moderate users on your pod. Use these tools to tackle harassment and problematic content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/internal_users/index.md:5
|
||||||
|
msgid "{term}`Pod` admins can also enable manual sign-up validation. With this setting enabled, moderators need to approve or reject any user who signs up."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,149 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:1
|
||||||
|
msgid "Handle reported content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:4
|
||||||
|
msgid "Deleting reported objects is irreversible. This action deletes the associated files from the pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:7
|
||||||
|
msgid "You can handle content reports from the {guilabel}`Reports` page or from the reported object's moderation page. You only need to open the moderation page to edit objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:10
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:11
|
||||||
|
msgid "{guilabel}`Library` – enables the moderator to delete objects."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:18
|
||||||
|
msgid "Handle reports from the Reports page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:20
|
||||||
|
msgid "To handle a content report from the {guilabel}`Reports` page:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:0
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:24
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:36
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:54
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:70
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:25
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:55
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:26
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:38
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:56
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:72
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:27
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:39
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:57
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:73
|
||||||
|
msgid "[Search for the report](search_reports.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:28
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:40
|
||||||
|
msgid "Select an action from the {guilabel}`Actions` section:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:29
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:41
|
||||||
|
msgid "{guilabel}`Resolve` – resolve the report with no further action."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:30
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:42
|
||||||
|
msgid "{guilabel}`Delete reported object` – delete the object associated with the report. If you delete an artist or album, this deletes all files associated with the object."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:0
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:37
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:71
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:46
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:84
|
||||||
|
msgid "Resolving the report assigns it to you so other moderators know who handled the report. Add [internal notes](internal_notes.md) to keep a record of your changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:48
|
||||||
|
msgid "Edit content in the moderation page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:50
|
||||||
|
msgid "If you want to edit an object to change its metadata:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:58
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:74
|
||||||
|
msgid "Select {guilabel}`Open in moderation interface` in the {guilabel}`Reported object` section. The object's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:59
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:75
|
||||||
|
msgid "Select {guilabel}`Edit`. The {guilabel}`Edit` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:60
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:76
|
||||||
|
msgid "Edit the details on this page. Leave a {guilabel}`Summary` of your changes for reference."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:61
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:77
|
||||||
|
msgid "Select {guilabel}`Submit and apply edit`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:62
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:78
|
||||||
|
msgid "Return to the {guilabel}`Reports` page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:63
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:79
|
||||||
|
msgid "Search for the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:64
|
||||||
|
#: ../../moderator_documentation/reports/handle_content.md:80
|
||||||
|
msgid "Select {guilabel}`Resolve` in the {guilabel}`Actions` section."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,84 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:1
|
||||||
|
msgid "Handle reported users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:3
|
||||||
|
msgid "If a user has reported another user on your pod, you can make changes to the reported user's profile. Use the user's moderation page to take the appropriate steps to handle the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:9
|
||||||
|
msgid "To open a user's moderation page:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:13
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:22
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:14
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:15
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:24
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:16
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:25
|
||||||
|
msgid "[Search for the report](search_reports.md) and select {guilabel}`Open in moderation interface` under {guilabel}`Reported object`. The user's moderation page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:23
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the page to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:29
|
||||||
|
msgid "You can change the following settings in the moderation interface:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:31
|
||||||
|
msgid "{guilabel}`Login status` – disable this switch to prevent the user being able to log in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:32
|
||||||
|
msgid "{guilabel}`Permissions` – add or remove permissions associated with the user."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:33
|
||||||
|
msgid "{guilabel}`Upload quota` – change the amount of data (in megabytes) that the user can upload."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/handle_users.md:35
|
||||||
|
msgid "Once you have made your changes, return to the {guilabel}`Reports` page and {guilabel}`Resolve` the report. Resolving the report assigns it to you so other moderators know who handled the report. Add [internal notes](internal_notes.md) to keep a record of your changes."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,76 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:20
|
||||||
|
#: ../../moderator_documentation/reports/index.md:20
|
||||||
|
msgid "Use the reports page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:32
|
||||||
|
#: ../../moderator_documentation/reports/index.md:1
|
||||||
|
#: ../../moderator_documentation/reports/index.md:32
|
||||||
|
msgid "Handle reports"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:3
|
||||||
|
msgid "As a Funkwhale moderator, you have extra permissions. These permissions enable you to handle reports submitted by users and anonymous browsers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:5
|
||||||
|
msgid "When a user submits a report it ends up in the moderation queue on the {guilabel}`Reports` page. Moderators can use the tools on this page to handle the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:7
|
||||||
|
msgid "Each report contains information that can help you handle the reported object:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:9
|
||||||
|
msgid "The user who submitted the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:10
|
||||||
|
msgid "The report {guilabel}`Category`. You can change this if it is not correct."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:11
|
||||||
|
msgid "The date the user submitted the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:12
|
||||||
|
msgid "The message the user posted with the report (if applicable)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:13
|
||||||
|
msgid "The {guilabel}`Status` of the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:14
|
||||||
|
msgid "Any {guilabel}`Internal notes` left by moderators."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:15
|
||||||
|
msgid "A summary of the {guilabel}`Reported object`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:16
|
||||||
|
msgid "A list of available {guilabel}`Actions`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/index.md:18
|
||||||
|
msgid "Follow the guides in this section to start handling reports submitted to your {term}`pod`."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,110 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:1
|
||||||
|
msgid "Use internal notes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:3
|
||||||
|
msgid "Use internal notes to add information to a report. This can be a summary of your actions or an update on your investigation. Internal notes are only visible to pod admins and moderators."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:9
|
||||||
|
msgid "Add notes to a report"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:11
|
||||||
|
msgid "You can add notes to __Unresolved__ and __Resolved__ reports. To add an internal note:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:0
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:15
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:26
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:45
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:56
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:16
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:46
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:17
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:28
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:47
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:58
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:18
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:29
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:48
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:59
|
||||||
|
msgid "[Search for the report](search_reports.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:19
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:30
|
||||||
|
msgid "{guilabel}`Write` your note in the {guilabel}`Internal notes` section. This input field supports Markdown syntax. You can {guilabel}`Preview` how the note will look to other users."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:20
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:31
|
||||||
|
msgid "Select {guilabel}`Add note` to save your note."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:0
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:27
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:57
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:35
|
||||||
|
msgid "Delete notes from a report"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:38
|
||||||
|
msgid "Deleting an internal note is irreversible. Make sure you are not deleting anything important."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:41
|
||||||
|
msgid "You can delete your own notes and the notes of other moderators. You can do this for both __Resolved__ and __Unresolved__ reports. To delete an internal note:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:49
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:60
|
||||||
|
msgid "Find the note you want to delete in the {guilabel}`Internal notes` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:50
|
||||||
|
#: ../../moderator_documentation/reports/internal_notes.md:61
|
||||||
|
msgid "Select {guilabel}`Delete`"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,89 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:1
|
||||||
|
msgid "Search for reports"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:3
|
||||||
|
msgid "The {guilabel}`Reports` page contains filters that enable you to search for reports. Use these filters to find reports by category, status, or key words."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:11
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:25
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:12
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:13
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:27
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:14
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:28
|
||||||
|
msgid "Use the filters to find the report you want:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:15
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:29
|
||||||
|
msgid "Enter key words in the {guilabel}`Search` field. This enables you to search for content in the report's {guilabel}`Message` section. Hit {kbd}`⏎ Return` to update your search."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:16
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:30
|
||||||
|
msgid "Filter reports by {guilabel}`Status`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:17
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:31
|
||||||
|
msgid "Filter reports by {guilabel}`Category`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:18
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:32
|
||||||
|
msgid "Select the criteria for {guilabel}`Ordering` of your search results."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:19
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:33
|
||||||
|
msgid "Select which {guilabel}`Order` you want to see your search results in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:26
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/search_reports.md:37
|
||||||
|
msgid "Once you have found the required report, you can handle the reported [user](handle_users.md) or [content](handle_content.md). You can also update the [internal notes](internal_notes.md) on the report."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,137 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:1
|
||||||
|
msgid "View unresolved reports"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:3
|
||||||
|
msgid "When a user reports an object on your {term}`pod`, the report gets sent to a moderation queue. You can check this moderation queue to handle any reports that users have submitted."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:6
|
||||||
|
msgid "{guilabel}`Moderation` – provides access to the administration and moderation menus."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:9
|
||||||
|
msgid "Check the Reports page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:11
|
||||||
|
msgid "You can see a list of unresolved reports by going to the {guilabel}`Reports` page. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:15
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:23
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:16
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:17
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:25
|
||||||
|
msgid "Select {guilabel}`Moderation`. The {guilabel}`Reports` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:24
|
||||||
|
msgid "Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:29
|
||||||
|
msgid "That's it! A list of unresolved reports appears on the screen. The summary contains the following information:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:31
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:46
|
||||||
|
msgid "The user who submitted the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:32
|
||||||
|
msgid "The report {guilabel}`Category`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:33
|
||||||
|
msgid "The date the user submitted the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:34
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:50
|
||||||
|
msgid "The message the user posted with the report (if applicable)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:35
|
||||||
|
msgid "The {guilabel}`Status` of the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:36
|
||||||
|
msgid "Any {guilabel}`Internal notes` left by moderators."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:37
|
||||||
|
msgid "A summary of the {guilabel}`Reported object`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:38
|
||||||
|
msgid "A list of available {guilabel}`Actions`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:40
|
||||||
|
msgid "Use the tools on this page the handle the reported [content](handle_content.md) or [user](handle_users.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:42
|
||||||
|
msgid "Email notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:44
|
||||||
|
msgid "When a user submits a report, an email gets sent to all pod moderators. This email contains a summary of the report including:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:47
|
||||||
|
msgid "The object that the user reported."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:48
|
||||||
|
msgid "A link to the object on your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:49
|
||||||
|
msgid "A link to the object's moderation page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:51
|
||||||
|
msgid "A link to the report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:52
|
||||||
|
msgid "A link to the {guilabel}`Reports` page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../moderator_documentation/reports/view_reports.md:54
|
||||||
|
msgid "Follow the links in the email to view the report."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,125 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:2
|
||||||
|
msgid "Translating Funkwhale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:4
|
||||||
|
msgid "A step-by-step, beginner friendly guide is available at https://contribute.funkwhale.audio/guides/translate/"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:6
|
||||||
|
msgid "Thank you for reading this! If you want to help translate Funkwhale, you found the proper place :)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:9
|
||||||
|
msgid "Translation is done via our own Weblate instance at https://translate.funkwhale.audio/projects/funkwhale/front/."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:11
|
||||||
|
msgid "You can signup/login using your Gitlab account (from https://dev.funkwhale.audio)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:14
|
||||||
|
msgid "Translation workflow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:16
|
||||||
|
msgid "Once you're logged-in on the Weblate instance, you can suggest translations. Your suggestions will then be reviewer by the project maintainer or other translators to ensure consistency."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:20
|
||||||
|
msgid "Guidelines"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:22
|
||||||
|
msgid "Respecting those guidelines is mandatory if you want your translation to be included:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:24
|
||||||
|
msgid "Use gender-neutral language and wording"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:27
|
||||||
|
msgid "Submitting a new language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:29
|
||||||
|
msgid "Pull the latest version of ``develop``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:30
|
||||||
|
msgid "Create a new branch, e.g ``git checkout -b translations-new-fr-ca``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:31
|
||||||
|
msgid "Add your new language code and name in ``front/src/locales.js``. Use the native language name, as it is what appears in the UI selector."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:32
|
||||||
|
msgid "Create the ``po`` file from template:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:40
|
||||||
|
msgid "Then commit your changes, push, and submit a pull request on the ``develop`` branch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:43
|
||||||
|
msgid "Requesting a new language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:45
|
||||||
|
msgid "If you cannot submit a new language yourself, you can request it by opening an issue here: https://dev.funkwhale.audio/funkwhale/funkwhale/issues"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:49
|
||||||
|
msgid "Extracting messages from source"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:51
|
||||||
|
msgid "We offer a script to update existing ``po`` and ``pot`` files with new translations from the source code. This action should be run regularly, and in particular before lots of translation work is expected (e.g a few weeks before a new release), or when the UI code changes a lot. Otherwise, translators end up translating some obsolete messages, or not translationg new messages."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:57
|
||||||
|
msgid "`Lock the translations on weblate <https://translate.funkwhale.audio/projects/funkwhale/front/#repository>`_ (``Lock`` button in the sidebar). This will prevent translators from working, and help prevent potential conflicts in the source code"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:58
|
||||||
|
msgid "`Commit and push changes from weblate <https://translate.funkwhale.audio/projects/funkwhale/front/#repository>`_ (``Commit`` and ``Push`` buttons in the sidebar)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:59
|
||||||
|
msgid "Pull ``develop`` in your local git repository to ensure you have the latest version of the translations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:60
|
||||||
|
msgid "Create a dedicated branch with ``git checkout -b translations-integration``"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:61
|
||||||
|
msgid "Extract the translations with ``cd front && ./scripts/i18n-extract.sh``. This will update all ``po`` files as necessary"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:62
|
||||||
|
msgid "Review, commit and push the changes, then open a merge request on the ``develop`` branch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../../TRANSLATORS.rst:63
|
||||||
|
msgid "When the MR is merged, `Unlock the translations on weblate <https://translate.funkwhale.audio/projects/funkwhale/front/#repository>`_ (``Unlock`` button in the sidebar)."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,86 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:1
|
||||||
|
msgid "Change your activity visibility"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:3
|
||||||
|
msgid "Your __activity visibility__ determines who can see your listening activity on Funkwhale. There are three visibility options:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:5
|
||||||
|
msgid "__Nobody except me__ – only you can see your listening activity."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:6
|
||||||
|
msgid "__Everyone on this instance__ – users who have an account on the same {term}`pod` as you can see your listening activity."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:7
|
||||||
|
msgid "__Everyone, across all instances__ – anybody can see your listening activity."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:9
|
||||||
|
msgid "To change your activity visibility:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:13
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:24
|
||||||
|
msgid "Log in to your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:14
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to expand the user menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:15
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:26
|
||||||
|
msgid "Select {guilabel}`Settings`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:16
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:27
|
||||||
|
msgid "Find {guilabel}`Activity visibility` in the {guilabel}`Account settings` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:17
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:28
|
||||||
|
msgid "Select your visibility level from the dropdown menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:18
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:29
|
||||||
|
msgid "Select {guilabel}`Update settings` to save your changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:25
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to open the {guilabel}`Options` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/activity_visibility.md:33
|
||||||
|
msgid "That's it! You've updated your activity visibility. This change takes effect as soon as you update your settings."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:1
|
||||||
|
msgid "Add your avatar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:3
|
||||||
|
msgid "You can upload an avatar to your account. Other users can see this when they visit your profile. To add an avatar:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:7
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:18
|
||||||
|
msgid "Log in to your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:8
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your existing avatar to expand the user menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:9
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:20
|
||||||
|
msgid "Select {guilabel}`Settings`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:10
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:21
|
||||||
|
msgid "Scroll down to the {guilabel}`Avatar` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:11
|
||||||
|
msgid "Select {guilabel}`Browse…` to open the file picker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:12
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:23
|
||||||
|
msgid "Select the image you want to use as your avatar and confirm."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:19
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your existing avatar to open the {guilabel}`Options` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:22
|
||||||
|
msgid "Select {guilabel}`Choose File` to open the file picker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/add_avatar.md:27
|
||||||
|
msgid "Congratulations! You've updated your avatar."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,75 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:1
|
||||||
|
msgid "Change your email address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:3
|
||||||
|
msgid "You can update your email address whenever you need to. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:7
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:19
|
||||||
|
msgid "Log in to your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:8
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to expand the user menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:9
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:21
|
||||||
|
msgid "Select {guilabel}`Settings`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:10
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:22
|
||||||
|
msgid "Scroll to the {guilabel}`Change my e-mail address` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:11
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:23
|
||||||
|
msgid "Enter your {guilabel}`New e-mail address`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:12
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:24
|
||||||
|
msgid "Enter your {guilabel}`Password`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:13
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:25
|
||||||
|
msgid "Select {guilabel}`Update`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:20
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to open the {guilabel}`Options` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_email.md:29
|
||||||
|
msgid "That's it! If your pod admin has email verification enabled, you'll receive a confirmation email. Follow the instructions in this email to finish changing your email address."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,79 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:1
|
||||||
|
msgid "Change your password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:4
|
||||||
|
msgid "Changing your account password also changes your Subsonic API password. If you are using a Subsonic app, you need to update your password in the app as well."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:7
|
||||||
|
msgid "You can update your account password whenever you need to. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:11
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:23
|
||||||
|
msgid "Log in to your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:12
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to expand the user menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:13
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:25
|
||||||
|
msgid "Select {guilabel}`Settings`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:14
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:26
|
||||||
|
msgid "Scroll to the {guilabel}`Change my password` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:15
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:27
|
||||||
|
msgid "Enter your {guilabel}`Current password`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:16
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:28
|
||||||
|
msgid "Enter your {guilabel}`New password`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:17
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:29
|
||||||
|
msgid "Select {guilabel}`Change password`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:24
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to open the {guilabel}`Options` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/change_password.md:33
|
||||||
|
msgid "That's it! Your password is reset. You need to use your new password to log in from now on."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,69 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:1
|
||||||
|
msgid "Check your upload quota"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:3
|
||||||
|
msgid "Your {term}`pod` admin can assign users an __upload quota__. This is the amount of storage you have access to. Pod admins can assign a default quota to all users. They can also increase or decrease quotas for individual users. Your upload quota applies to content in [libraries](../libraries/index.md) and [channels](../channels/index.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:5
|
||||||
|
msgid "If you run out of space, you can contact your pod admin to request more."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:7
|
||||||
|
msgid "To check your upload quota:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:11
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:21
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:12
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:13
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:23
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Upload third-party content in a library`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:14
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:24
|
||||||
|
msgid "The {guilabel}`My libraries` screen appears showing your upload quota and your libraries."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:15
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:25
|
||||||
|
msgid "The {guilabel}`Current usage` section shows you how much of your quota you are using."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/check_quota.md:22
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,126 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:1
|
||||||
|
msgid "Create your Funkwhale account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:4
|
||||||
|
msgid "Use our [Pod Picker tool](https://network.funkwhale.audio/dashboards/d/overview/network-overview) to find the perfect pod for you!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:7
|
||||||
|
msgid "To use Funkwhale, you need to create an account on a {term}`Funkwhale pod <Pod>`. Signing up to a pod requires the following information:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:9
|
||||||
|
msgid "A valid email address. Administrators can use this to verify you are not a bot."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:10
|
||||||
|
msgid "A username."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:11
|
||||||
|
msgid "A password."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:13
|
||||||
|
msgid "Check your pod's policies"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:15
|
||||||
|
msgid "Before you sign up to a pod, you should check its __policies__. You can find these by navigating to the pod's {guilabel}`About this pod` page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:17
|
||||||
|
msgid "Navigate to the pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:18
|
||||||
|
msgid "Select the {guilabel}`About this pod` link in the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:19
|
||||||
|
msgid "Select the {guilabel}`Learn more` button in the {guilabel}`About this pod` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:21
|
||||||
|
msgid "Administrators can add a pod's {guilabel}`Rules` and {guilabel}`Terms and privacy policy` to this page. Make sure to read through them before signing up. Also check the {guilabel}`Upload quota` to see how much space users have access to."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:23
|
||||||
|
msgid "Sign up"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:25
|
||||||
|
msgid "Once you've found an instance you like the look of, you can create your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:27
|
||||||
|
msgid "Select the {guilabel}`Create an account` button in the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:28
|
||||||
|
msgid "Enter the {guilabel}`Username` you have chosen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:29
|
||||||
|
msgid "Enter your {guilabel}`Email` address."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:30
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:41
|
||||||
|
msgid "Enter your {guilabel}`Password`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:31
|
||||||
|
msgid "Pod administrators can add extra requirements for new accounts. Fields marked with an asterisk ({guilabel}`*`) are required."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:32
|
||||||
|
msgid "Select {guilabel}`Create my account`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:33
|
||||||
|
msgid "Pod administrators may require you to verify your email address before you can use your account. Check your email for more instructions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:35
|
||||||
|
msgid "Log in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:37
|
||||||
|
msgid "When you've created and activated your account, you can log in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:39
|
||||||
|
msgid "Select the {guilabel}`Login` button in the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:40
|
||||||
|
msgid "Enter your {guilabel}`Username or e-mail address`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:42
|
||||||
|
msgid "Select {guilabel}`Login`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/create_account.md:44
|
||||||
|
msgid "Congratulations! You've set up your Funkwhale account. Check out what you can do now in our user documentation."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,115 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:1
|
||||||
|
msgid "Delete your Funkwhale account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:3
|
||||||
|
msgid "If you have decided you no longer want your Funkwhale account, you can delete it. This action removes your profile and all your data from your {term}`pod`, including:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:5
|
||||||
|
msgid "Your user avatar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:6
|
||||||
|
msgid "Your email address."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:7
|
||||||
|
msgid "The list of your followers."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:8
|
||||||
|
msgid "Music files you have uploaded."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:9
|
||||||
|
msgid "Radios you have created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:10
|
||||||
|
msgid "Playlists you have created."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:11
|
||||||
|
msgid "Your favorites."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:13
|
||||||
|
msgid "When you delete your account, your pod sends a message to other Funkwhale pods notifying them. If these pods hold any of your data, they should also delete it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:16
|
||||||
|
msgid "Other pods should delete local copies of your data in compliance with your request. There is no guarantee that they will do so, and some data may remain available. This can happen if a pod is offline or unavailable when your pod sends out the deletion message."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:19
|
||||||
|
msgid "To delete your account:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:23
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:35
|
||||||
|
msgid "Log in to your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:24
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to expand the user menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:25
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:37
|
||||||
|
msgid "Select {guilabel}`Settings`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:26
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:38
|
||||||
|
msgid "Scroll to the {guilabel}`Delete my account` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:27
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:39
|
||||||
|
msgid "Enter your {guilabel}`Password`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:28
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:40
|
||||||
|
msgid "Select {guilabel}`Delete my account…`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:29
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:41
|
||||||
|
msgid "Select {guilabel}`Delete my account` on the warning notice that appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:36
|
||||||
|
msgid "Select the cog icon ({fa}`cog`) or your avatar to open the {guilabel}`Options` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_account.md:45
|
||||||
|
msgid "That's it! You've deleted your account. You can [create another account](create_account.md) at any time."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,65 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:1
|
||||||
|
msgid "Remove your avatar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:3
|
||||||
|
msgid "If you don't want to have an avatar any more, you can remove it. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:7
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:17
|
||||||
|
msgid "Log in to your account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:8
|
||||||
|
msgid "Select your avatar to expand the user menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:9
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:19
|
||||||
|
msgid "Select {guilabel}`Settings`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:10
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:20
|
||||||
|
msgid "Scroll down to the {guilabel}`Avatar` section."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:11
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:21
|
||||||
|
msgid "Select {guilabel}`Remove`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:18
|
||||||
|
msgid "Select your avatar to open the {guilabel}`Options` menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/delete_avatar.md:25
|
||||||
|
msgid "That's it! You've removed your avatar from your account. Other users will only see the initials of your username when they visit your profile."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,39 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/index.md:7
|
||||||
|
#: ../../user_documentation/accounts/index.md:7
|
||||||
|
msgid "Manage your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/index.md:19
|
||||||
|
#: ../../user_documentation/accounts/index.md:19
|
||||||
|
msgid "Change account settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/index.md:1
|
||||||
|
msgid "Your account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/index.md:3
|
||||||
|
msgid "Your Funkwhale account is the key to your Funkwhale experience. Creating an account on a {term}`pod` gives you the ability to upload content, follow channels, and listen to audio."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/accounts/index.md:5
|
||||||
|
msgid "Follow the guides in this section to manage your Funkwhale account."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,175 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:1
|
||||||
|
msgid "Create a channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:4
|
||||||
|
msgid "Your channel's __Fediverse handle__ needs to be unique. This is how other {term}`Fediverse` software identifies your channel. You can't change the __Fediverse handle__ once you've created your channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:7
|
||||||
|
msgid "Create a channel to start publishing your content on your {term}`Funkwhale pod <Pod>`. Users can access channel content from Funkwhale or other Fediverse software."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:9
|
||||||
|
msgid "You can create two types of channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:15
|
||||||
|
msgid "Artist discography"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:17
|
||||||
|
msgid "To create an __Artist discography__ channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:0
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:21
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:37
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:59
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:80
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:22
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:60
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:23
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:39
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:61
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:82
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Publish your work in a channel`. Your user profile opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:24
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:40
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:62
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:83
|
||||||
|
msgid "Select {guilabel}`+ Add new` next to the {guilabel}`Channels` header. A {guilabel}`Create channel` pop-up window appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:25
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:41
|
||||||
|
msgid "Select {guilabel}`Artist discography` and select {guilabel}`Next step`. The {guilabel}`Artist channel` form appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:26
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:42
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:64
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:85
|
||||||
|
msgid "Enter the {guilabel}`Name` of your channel. Users see this when they visit your channel page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:27
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:43
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:65
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:86
|
||||||
|
msgid "Enter the {guilabel}`Fediverse handle` of your channel. This is how other Fediverse software identifies your channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:28
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:44
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:66
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:87
|
||||||
|
msgid "__Optional__ – upload a {guilabel}`Channel picture`. Users see this when they visit your channel page. Select {guilabel}`Browse…` to open a file picker."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:29
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:45
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:67
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:88
|
||||||
|
msgid "__Optional__ – add {guilabel}`Tags` that describe your channel. Start typing in the {guilabel}`Search…` input box to find existing tags. You can also create new tags by typing them in and selecting them or hitting {kbd}`⏎ Return`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:30
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:46
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:69
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:90
|
||||||
|
msgid "__Optional__ – enter a {guilabel}`Description` of your channel. You can {guilabel}`Write` using [Markdown](https://www.markdownguide.org/) syntax and {guilabel}`Preview` how it will look. Users see this when they visit your channel page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:31
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:47
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:74
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:95
|
||||||
|
msgid "Select {guilabel}`Create channel` to create your channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:0
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:38
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:81
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:51
|
||||||
|
msgid "That's it! You've created your artist channel. You can now [add some music to it](upload_artist.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:53
|
||||||
|
msgid "Podcast"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:55
|
||||||
|
msgid "To create a __Podcast__ channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:63
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:84
|
||||||
|
msgid "Select {guilabel}`Podcasts` and select {guilabel}`Next step`. The {guilabel}`Podcast channel` form appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:68
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:89
|
||||||
|
msgid "Choose the {guilabel}`Language` of your podcast."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:70
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:91
|
||||||
|
msgid "Select the {guilabel}`Category` of your podcast. {term}`Podcatchers<Podcatcher>` use this information to sort your podcast content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:71
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:92
|
||||||
|
msgid "__Optional__ – select the {guilabel}`Subcategory` of your podcast."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:72
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:93
|
||||||
|
msgid "__Optional__ – enter the {guilabel}`Owner e-mail address`. This populates the ``itunes:email`` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:73
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:94
|
||||||
|
msgid "__Optional__ – enter the {guilabel}`Owner name`. This populates the ``itunes:name`` field of your podcast's {abbr}`RSS (Really Simple Syndication)` feed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/create_channel.md:99
|
||||||
|
msgid "You're done! You've created your podcast channel. Now you can [add some episodes to it](upload_podcast.md)."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,143 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:1
|
||||||
|
msgid "Delete content from an Artist channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:3
|
||||||
|
msgid "You can delete content from your artist channel. This means that your followers won't be able to listen to the deleted content any more."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:9
|
||||||
|
msgid "Delete a track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:12
|
||||||
|
msgid "Deleting a track also deletes the file from your {term}`Funkwhale pod <Pod>`. This action is irreversible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:15
|
||||||
|
msgid "To delete a single track from a channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:0
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:19
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:33
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:57
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:70
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:20
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:58
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:21
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:35
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:59
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:72
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Publish your work in a channel`. Your user profile opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:22
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:36
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:60
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:73
|
||||||
|
msgid "Select the channel containing the content under the {guilabel}`Channels` header. The channel's page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:23
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:37
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) next to the track in question. This opens the track options menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:24
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:38
|
||||||
|
msgid "Select {guilabel}`ℹ︎ Track details`. The track details page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:25
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:39
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) at the top of the page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:26
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:40
|
||||||
|
msgid "Select {guilabel}`Delete…`. A {guilabel}`Delete this track?` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:27
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:41
|
||||||
|
msgid "Select {guilabel}`Delete` to delete the track."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:0
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:34
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:71
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:45
|
||||||
|
msgid "That's it! You've deleted your track. You can add it again by [uploading it to your channel](upload_artist.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:47
|
||||||
|
msgid "Delete an album"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:50
|
||||||
|
msgid "Deleting an album also deletes all tracks in the album and removes the files from the server. This action is irreversible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:53
|
||||||
|
msgid "Delete an album to remove all tracks it contains. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:61
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:74
|
||||||
|
msgid "Select your album in the {guilabel}`Albums` section. The album detail page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:62
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:75
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) to open the options menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:63
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:76
|
||||||
|
msgid "Select {guilabel}`Delete…`. A {guilabel}`Delete this album?` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:64
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:77
|
||||||
|
msgid "Select {guilabel}`Delete` to delete the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_artist.md:81
|
||||||
|
msgid "You're done! You've deleted the album and all the tracks it contained. You can add them again by [uploading it to your channel](upload_artist.md)."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,79 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:1
|
||||||
|
msgid "Delete a channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:4
|
||||||
|
msgid "Deleting a channel is irreversible. If you delete a channel you also delete the content associated with it. Users won't be able to access the channel any more. You can't re-use the channel's __Fediverse handle__ for another channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:7
|
||||||
|
msgid "If you want to delete your channel, follow these steps:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:11
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:23
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:12
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:13
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:25
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Publish your work in a channel`. Your user profile opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:14
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:26
|
||||||
|
msgid "Select the channel you want to delete under the {guilabel}`Channels` header. The channel's page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:15
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:27
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) to show the channel options."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:16
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:28
|
||||||
|
msgid "Select {guilabel}`Delete…`. A {guilabel}`Delete this Channel?` warning message appears"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:17
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:29
|
||||||
|
msgid "Select {guilabel}`Delete`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:24
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_channel.md:33
|
||||||
|
msgid "That's it! You deleted your channel."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,143 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:1
|
||||||
|
msgid "Delete content from a Podcast channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:3
|
||||||
|
msgid "You can delete content from your podcast channel. This means that your followers won't be able to listen to the deleted content any more."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:9
|
||||||
|
msgid "Delete an episode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:12
|
||||||
|
msgid "Deleting an episode also deletes the file from the {term}`pod`. This action is irreversible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:15
|
||||||
|
msgid "To delete a single episode from a channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:0
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:19
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:33
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:57
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:70
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:20
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:58
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:21
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:35
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:59
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:72
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Publish your work in a channel`. Your user profile opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:22
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:36
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:60
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:73
|
||||||
|
msgid "Select the channel containing the content under the {guilabel}`Channels` header. The channel's page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:23
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:37
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) next to the episode in question. This opens the track options menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:24
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:38
|
||||||
|
msgid "Select {guilabel}`ℹ︎ Episode details`. The episode details page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:25
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:39
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) at the top of the page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:26
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:40
|
||||||
|
msgid "Select {guilabel}`Delete…`. A {guilabel}`Delete this track?` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:27
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:41
|
||||||
|
msgid "Select {guilabel}`Delete` to delete the episode."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:0
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:34
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:71
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:45
|
||||||
|
msgid "That's it! You've deleted your episode. You can add it again by [uploading it to your channel](upload_podcast.md)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:47
|
||||||
|
msgid "Delete a series"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:50
|
||||||
|
msgid "Deleting a series also deletes all episodes in the series and deletes the files from the {term}`pod`. This action is irreversible."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:53
|
||||||
|
msgid "Delete a series to remove all episodes it contains. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:61
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:74
|
||||||
|
msgid "Select your series in the {guilabel}`Series` section. The series detail page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:62
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:75
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) to open the options menu."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:63
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:76
|
||||||
|
msgid "Select {guilabel}`Delete…`. A {guilabel}`Delete this album?` warning appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:64
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:77
|
||||||
|
msgid "Select {guilabel}`Delete` to delete the series."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/delete_podcast.md:81
|
||||||
|
msgid "You're done! You've deleted the series and all the episodes it contained. You can add them again by [uploading it to your channel](upload_podcast.md)."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,179 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:1
|
||||||
|
msgid "Edit a channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:4
|
||||||
|
msgid "You can't change a channel's __Fediverse handle__."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:7
|
||||||
|
msgid "Channels are like user profiles on other {term}`Fediverse` software. This means you can edit their details at any time to reflect changes you've made."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:9
|
||||||
|
msgid "You can change different details depending on what type of channel you are editing:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:15
|
||||||
|
msgid "Edit an Artist channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:17
|
||||||
|
msgid "To edit an __Artist channel__:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:0
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:21
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:38
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:61
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:83
|
||||||
|
msgid "Log in to your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:22
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:62
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:23
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:40
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:63
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:85
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Publish your work in a channel`. Your user profile opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:24
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:41
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:64
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:86
|
||||||
|
msgid "Select the channel you want to delete under the {guilabel}`Channels` header. The channel's page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:25
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:42
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:65
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:87
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) to show the channel options."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:26
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:43
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:66
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:88
|
||||||
|
msgid "Select {guilabel}`Edit…`. The {guilabel}`Artist channel` form appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:27
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:44
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:67
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:89
|
||||||
|
msgid "Change the details in any of these fields:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:28
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:45
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:68
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:90
|
||||||
|
msgid "{guilabel}`Name`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:29
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:46
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:69
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:91
|
||||||
|
msgid "{guilabel}`Channel Picture`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:30
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:47
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:70
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:92
|
||||||
|
msgid "{guilabel}`Tags`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:31
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:48
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:72
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:94
|
||||||
|
msgid "{guilabel}`Description`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:32
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:49
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:77
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:99
|
||||||
|
msgid "Select {guilabel}`Update channel` to save your changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:0
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:39
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:84
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:53
|
||||||
|
msgid "That's it! You've updated your channel details. Users see the new details when they visit your channel page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:55
|
||||||
|
msgid "Edit a Podcast channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:57
|
||||||
|
msgid "To edit a __Podcast channel__:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:71
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:93
|
||||||
|
msgid "{guilabel}`Language`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:73
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:95
|
||||||
|
msgid "{guilabel}`Category`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:74
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:96
|
||||||
|
msgid "{guilabel}`Subcategory`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:75
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:97
|
||||||
|
msgid "{guilabel}`Owner e-mail address`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:76
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:98
|
||||||
|
msgid "{guilabel}`Owner name`"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/edit_channel.md:103
|
||||||
|
msgid "You're done! Users see the new details when they visit your channel page. The changes also reflect on your podcast's {abbr}`RSS (Really Simple Syndication)` feed."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,131 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:1
|
||||||
|
msgid "Follow a channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:3
|
||||||
|
msgid "Get access to a channel's content by following it. Following a channel makes its content visible to all users on your {term}`pod`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:5
|
||||||
|
msgid "You can follow channels in a few different ways:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:11
|
||||||
|
msgid "Follow a channel on your pod"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:13
|
||||||
|
msgid "If a user on your pod follows a channel or has published a channel, you can follow it from your pod. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:15
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:53
|
||||||
|
msgid "Select the channel you want to follow. The channel details page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:16
|
||||||
|
msgid "Select the {guilabel}`Subscribe` button. The label changes to {guilabel}`Subscribed`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:18
|
||||||
|
msgid "That's it! You've subscribed to the channel. You can see the channel in the {guilabel}`Channels` page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:20
|
||||||
|
msgid "Follow a remote channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:22
|
||||||
|
msgid "To follow a channel located on another pod, you need its __Federation handle__. A __Federation handle__ uses the following format: ``@{username}@{domain}``. Once you have the channel's __Federation handle__, you can follow it from the {guilabel}`Channels` page. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:26
|
||||||
|
msgid "Select {guilabel}`Channels` in the sidebar. The {guilabel}`Channels` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:27
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:39
|
||||||
|
msgid "Select {guilabel}`+ Add new` at the top of the page. The {guilabel}`Subscriptions` screen appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:28
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:40
|
||||||
|
msgid "Select {guilabel}`Fediverse`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:29
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:41
|
||||||
|
msgid "Enter the channel's __Federation handle__ in the {guilabel}`Fediverse object` input."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:30
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:42
|
||||||
|
msgid "Select {guilabel}`Subscribe`. The channel details page appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:31
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:43
|
||||||
|
msgid "Select the {guilabel}`Subscribe}` button. The label changes to {guilabel}`Subscribed`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:37
|
||||||
|
msgid "Select the hamburger menu ({fa}`bars`) to open the menu bar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:38
|
||||||
|
msgid "Select {guilabel}`Channels`. The {guilabel}`Channels` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:47
|
||||||
|
msgid "That's it! You can now see the channel's content on your pod. Other users of your pod can also see this channel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:49
|
||||||
|
msgid "Follow a Funkwhale podcast with a podcatcher"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:51
|
||||||
|
msgid "You can follow podcasts published in channels using a standard podcatcher. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:54
|
||||||
|
msgid "Select the feed button ({fa}`feed`). The {guilabel}`Subscribe to this channel` window appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:55
|
||||||
|
msgid "Select {guilabel}`Copy` under the {guilabel}`Subscribe via RSS` to copy the channel's {abbr}`RSS (Really Simple Syndication)` feed URL."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:56
|
||||||
|
msgid "Paste the URL in your podcatcher."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/follow_channel.md:58
|
||||||
|
msgid "That's it! Your podcatcher fetches the podcast details from Funkwhale."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,56 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:12
|
||||||
|
#: ../../user_documentation/channels/index.md:12
|
||||||
|
msgid "Manage your channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:24
|
||||||
|
#: ../../user_documentation/channels/index.md:24
|
||||||
|
msgid "Manage channel content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:37
|
||||||
|
#: ../../user_documentation/channels/index.md:37
|
||||||
|
msgid "Follow channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:1
|
||||||
|
msgid "Channels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:3
|
||||||
|
msgid "Use channels to publish your own audio content on Funkwhale. Channels enable you to create and share your creations with the whole {term}`Fediverse`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:5
|
||||||
|
msgid "Funkwhale supports two types of channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:7
|
||||||
|
msgid "__Podcasts__ – broadcast your podcast over the Fediverse. Listeners can also use their favorite {term}`podcatcher` to listen to podcasts using {abbr}`RSS (Really Simple Syndication)`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:8
|
||||||
|
msgid "__Artist Discography__ – upload your own music and create a following."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/index.md:10
|
||||||
|
msgid "Follow the guides in this section to get started."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,73 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:1
|
||||||
|
msgid "Subscribe to an RSS feed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:4
|
||||||
|
msgid "Other users on your pod can't see podcasts you import using RSS. They need to subscribe to the feed themselves."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:7
|
||||||
|
msgid "You can use Funkwhale as a {term}`podcatcher` to listen to your favorite podcasts. Funkwhale can read {abbr}`RSS (Really Simple Syndication)` feeds to import podcasts. To add an RSS feed to Funkwhale:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:11
|
||||||
|
msgid "Select {guilabel}`Channels` in the sidebar. The {guilabel}`Channels` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:12
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:23
|
||||||
|
msgid "Select {guilabel}`+ Add new` at the top of the page. The {guilabel}`Subscriptions` screen appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:13
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:24
|
||||||
|
msgid "Select {guilabel}`RSS`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:14
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:25
|
||||||
|
msgid "Enter the URL of the RSS feed in the {guilabel}`RSS feed location` input."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:15
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:26
|
||||||
|
msgid "Select {guilabel}`Subscribe`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:21
|
||||||
|
msgid "Select the hamburger menu ({fa}`bars`) to open the menu bar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:22
|
||||||
|
msgid "Select {guilabel}`Channels`. The {guilabel}`Channels` page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/subscribe_rss.md:30
|
||||||
|
msgid "That's it! Your favorite podcast is now available in the {guilabel}`Channels` page. Funkwhale updates the feed to make sure you always have the latest episodes."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,294 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) 2022, The Funkwhale Collective
|
||||||
|
# This file is distributed under the same license as the funkwhale package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: funkwhale 1.2.3\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2022-04-04 09:00+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"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:1
|
||||||
|
msgid "Upload content to an Artist channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:3
|
||||||
|
msgid "Once you have [created a channel](create_channel.md), you can start to add content to it. Users who follow your channel can see and play your content from their {term}`pods <Pod>`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:5
|
||||||
|
msgid "You can also create albums to organize your channel content."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:11
|
||||||
|
msgid "Create an album (optional)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:13
|
||||||
|
msgid "Albums are a good way of organizing your content. You can create as many albums as you want. To create a new album:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:0
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:0
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:0
|
||||||
|
msgid "Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:17
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:29
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:61
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:78
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:115
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:132
|
||||||
|
msgid "Log in to your pod."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:18
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:62
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:116
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) in the top of the sidebar."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:19
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:31
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:63
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:80
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:117
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:134
|
||||||
|
msgid "Select {guilabel}`Get started` under {guilabel}`Publish your work in a channel`. Your user profile opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:20
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:32
|
||||||
|
msgid "Select the channel you want to add an album to under the {guilabel}`Channels` header. The channel's page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:21
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:33
|
||||||
|
msgid "Select {guilabel}`+ Add new` next to the {guilabel}`Albums` section. A {guilabel}`New album` screen appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:22
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:34
|
||||||
|
msgid "Enter the {guilabel}`Title` of your album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:23
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:35
|
||||||
|
msgid "Select {guilabel}`Create` to create your new album. The album appears on the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:0
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:0
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:0
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:30
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:79
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:133
|
||||||
|
msgid "Select the upload icon ({fa}`upload`) at the top of the screen."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:39
|
||||||
|
msgid "Once you've created your album, you can add some details to it. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:41
|
||||||
|
msgid "Select the album. The album details screen opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:42
|
||||||
|
msgid "Select the kebab menu ({fa}`ellipsis-v`) to show the album options."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:43
|
||||||
|
msgid "Select {guilabel}`Edit`. The {guilabel}`Edit this album` screen opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:44
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:97
|
||||||
|
msgid "Change the details in any of these fields:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:45
|
||||||
|
msgid "{guilabel}`Title` – the title of the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:46
|
||||||
|
msgid "{guilabel}`Description` – a description of the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:47
|
||||||
|
msgid "{guilabel}`Release date` – the release date of the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:48
|
||||||
|
msgid "{guilabel}`Cover` – the cover art of the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:49
|
||||||
|
msgid "{guilabel}`Tags` – the genre of the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:50
|
||||||
|
msgid "__Optional__ – enter a {guilabel}`Summary` of your changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:51
|
||||||
|
msgid "Select {guilabel}`Submit and apply edit` to save your changes."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:53
|
||||||
|
msgid "That's it! You can now add content to your album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:55
|
||||||
|
msgid "Add your content"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:57
|
||||||
|
msgid "To add content to your channel:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:64
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:81
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:118
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:135
|
||||||
|
msgid "Select the channel you want to add content to under the {guilabel}`Channels` header. The channel's page opens."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:65
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:82
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:119
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:136
|
||||||
|
msgid "Select {guilabel}`⇧ Upload`. The {guilabel}`Publish audio` screen appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:66
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:83
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:120
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:137
|
||||||
|
msgid "Select the {guilabel}`Channel` you want to publish your audio in. This populates with the channel you selected by default."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:67
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:84
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:121
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:138
|
||||||
|
msgid "__Optional__ – choose which [{guilabel}`Album`](#create-an-album-optional) you want to publish the music in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:68
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:85
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:122
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:139
|
||||||
|
msgid "__Optional__ – choose a {guilabel}`License` to apply to your music. Funkwhale supports [Creative Commons](https://creativecommons.org/) licenses."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:69
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:86
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:123
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:140
|
||||||
|
msgid "Select {guilabel}`Next step`. The {guilabel}`Files to upload` screen appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:70
|
||||||
|
msgid "Click on the section marked {guilabel}`Browse…` to open a file picker, or drag and drop your files on to it."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:71
|
||||||
|
msgid "If you opened the file picker, select the files you want to upload and confirm."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:72
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:88
|
||||||
|
msgid "The files appear at the top when you upload them. Select {guilabel}`Remove` to remove them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:87
|
||||||
|
msgid "Click on the section marked {guilabel}`Browse…` to open a file picker. Select the files you want to upload and confirm."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:92
|
||||||
|
msgid "Edit your uploads"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:94
|
||||||
|
msgid "Once you have uploaded your files, you can change their details. To do this:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:96
|
||||||
|
msgid "Select the edit icon ({fa}`edit`) to edit the track details. The {guilabel}`Upload details` screen appears."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:98
|
||||||
|
msgid "{guilabel}`Title` – the title of the track"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:99
|
||||||
|
msgid "{guilabel}`Track Picture` – the picture that shows up next to the track."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:100
|
||||||
|
msgid "{guilabel}`Tags` – the genre of the track."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:101
|
||||||
|
msgid "{guilabel}`Position` – the position of the track in the album."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:102
|
||||||
|
msgid "{guilabel}`Description` – a description of the track."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:103
|
||||||
|
msgid "Select {guilabel}`Update` to save the track details."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:104
|
||||||
|
msgid "Do this for all tracks you want to publish."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:105
|
||||||
|
msgid "Select {guilabel}`Publish` to publish the content. To save the content to [upload later](#continue-your-upload-later), select {menuselection}`Down arrow --> Finish later`."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:107
|
||||||
|
msgid "That's it! You've added content to your channel. Your followers can now listen to your content from their pods."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:109
|
||||||
|
msgid "Continue your upload later"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:111
|
||||||
|
msgid "If you selected {guilabel}`Finish later`, Funkwhale saves your files and edits. You can continue your upload later by doing the following:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:124
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:141
|
||||||
|
msgid "If there are pending uploads, a {guilabel}`You have some draft uploads pending publication` note shows. Select {guilabel}`Resume` to resume your upload."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:125
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:142
|
||||||
|
msgid "[Add new files](#add-your-content) or [edit the pending files](#edit-your-uploads)."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:126
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:143
|
||||||
|
msgid "Once you're finished, select {guilabel}`Publish` to publish your music."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../../user_documentation/channels/upload_artist.md:147
|
||||||
|
msgid "Congratulations! You've finished uploading the saved content. Your followers can now listen to your content from their pods."
|
||||||
|
msgstr ""
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue