diff --git a/.gitignore b/.gitignore index 95b236af6..8821d8ce1 100644 --- a/.gitignore +++ b/.gitignore @@ -73,6 +73,7 @@ pleroma.iml # Generated documentation docs/site +docs/venv # docker stuff docker-db diff --git a/.woodpecker.yml b/.woodpecker/build-amd64.yml similarity index 58% rename from .woodpecker.yml rename to .woodpecker/build-amd64.yml index 9395567f4..ff29daa61 100644 --- a/.woodpecker.yml +++ b/.woodpecker/build-amd64.yml @@ -1,3 +1,8 @@ +platform: linux/amd64 + +depends_on: + - test + variables: - &scw-secrets - SCW_ACCESS_KEY @@ -12,8 +17,6 @@ variables: branch: - develop - stable - - refs/tags/v* - - refs/tags/stable-* - &on-stable when: event: @@ -21,14 +24,6 @@ variables: - tag branch: - stable - - refs/tags/stable-* - - &on-point-release - when: - event: - - push - branch: - - develop - - stable - &on-pr-open when: event: @@ -39,63 +34,10 @@ variables: - &clean "(rm -rf release || true) && (rm -rf _build || true) && (rm -rf /root/.mix)" - &mix-clean "mix deps.clean --all && mix clean" -services: - postgres: - image: postgres:15 - when: - event: - - pull_request - environment: - POSTGRES_DB: pleroma_test - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - pipeline: - lint: - <<: *on-pr-open - image: akkoma/ci-base:1.14 - commands: - - mix local.hex --force - - mix local.rebar --force - - mix format --check-formatted - - build: - image: akkoma/ci-base:1.14 - <<: *on-pr-open - environment: - MIX_ENV: test - POSTGRES_DB: pleroma_test - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - DB_HOST: postgres - commands: - - mix local.hex --force - - mix local.rebar --force - - mix deps.get - - mix compile - - test: - image: akkoma/ci-base:1.14 - <<: *on-pr-open - environment: - MIX_ENV: test - POSTGRES_DB: pleroma_test - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - DB_HOST: postgres - commands: - - mix local.hex --force - - mix local.rebar --force - - mix deps.get - - mix compile - - mix ecto.drop -f -q - - mix ecto.create - - mix ecto.migrate - - mix test --preload-modules --exclude erratic --exclude federated --max-cases 4 - # Canonical amd64 ubuntu22: - image: hexpm/elixir:1.14.2-erlang-25.1.2-ubuntu-jammy-20220428 + image: hexpm/elixir:1.14.3-erlang-25.2.2-ubuntu-jammy-20221130 <<: *on-release environment: MIX_ENV: prod @@ -122,7 +64,7 @@ pipeline: - /bin/sh /entrypoint.sh debian-bullseye: - image: hexpm/elixir:1.14.2-erlang-25.1.2-debian-bullseye-20221004 + image: hexpm/elixir:1.14.3-erlang-25.2.2-debian-bullseye-20230109 <<: *on-release environment: MIX_ENV: prod @@ -151,7 +93,7 @@ pipeline: # Canonical amd64-musl musl: - image: hexpm/elixir:1.14.2-erlang-25.1.2-alpine-3.16.2 + image: hexpm/elixir:1.14.3-erlang-25.2.2-alpine-3.18.0 <<: *on-stable environment: MIX_ENV: prod @@ -173,25 +115,3 @@ pipeline: - export SOURCE=akkoma-amd64-musl.zip - export DEST=scaleway:akkoma-updates/$${CI_COMMIT_TAG:-"$CI_COMMIT_BRANCH"}/akkoma-amd64-musl.zip - /bin/sh /entrypoint.sh - - docs: - <<: *on-point-release - secrets: - - SCW_ACCESS_KEY - - SCW_SECRET_KEY - - SCW_DEFAULT_ORGANIZATION_ID - environment: - CI: "true" - image: python:3.10-slim - commands: - - apt-get update && apt-get install -y rclone wget git zip - - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64 - - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli - - chmod +x scaleway-cli - - ./scaleway-cli object config install type=rclone - - cd docs - - pip install -r requirements.txt - - mkdocs build - - zip -r docs.zip site/* - - cd site - - rclone copy . scaleway:akkoma-docs/$CI_COMMIT_BRANCH/ diff --git a/.woodpecker/build-arm64.yml b/.woodpecker/build-arm64.yml new file mode 100644 index 000000000..deb61087c --- /dev/null +++ b/.woodpecker/build-arm64.yml @@ -0,0 +1,115 @@ +platform: linux/arm64 + +depends_on: + - test + +variables: + - &scw-secrets + - SCW_ACCESS_KEY + - SCW_SECRET_KEY + - SCW_DEFAULT_ORGANIZATION_ID + - &setup-hex "mix local.hex --force && mix local.rebar --force" + - &on-release + when: + event: + - push + - tag + branch: + - stable + - develop + - &on-stable + when: + event: + - push + - tag + branch: + - stable + - &on-pr-open + when: + event: + - pull_request + + - &tag-build "export BUILD_TAG=$${CI_COMMIT_TAG:-\"$CI_COMMIT_BRANCH\"} && export PLEROMA_BUILD_BRANCH=$BUILD_TAG" + + - &clean "(rm -rf release || true) && (rm -rf _build || true) && (rm -rf /root/.mix)" + - &mix-clean "mix deps.clean --all && mix clean" + +pipeline: + # Canonical arm64 + ubuntu22: + image: hexpm/elixir:1.14.3-erlang-25.2.2-ubuntu-jammy-20221130 + <<: *on-release + environment: + MIX_ENV: prod + DEBIAN_FRONTEND: noninteractive + commands: + - apt-get update && apt-get install -y cmake libmagic-dev rclone zip imagemagick libmagic-dev git build-essential g++ wget + - *clean + - echo "import Config" > config/prod.secret.exs + - *setup-hex + - *tag-build + - mix deps.get --only prod + - mix release --path release + - zip akkoma-ubuntu-jammy.zip -r release + + release-ubuntu22: + image: akkoma/releaser:arm64 + <<: *on-release + secrets: *scw-secrets + commands: + - export SOURCE=akkoma-ubuntu-jammy.zip + - export DEST=scaleway:akkoma-updates/$${CI_COMMIT_TAG:-"$CI_COMMIT_BRANCH"}/akkoma-arm64-ubuntu-jammy.zip + - /bin/sh /entrypoint.sh + + debian-bullseye: + image: hexpm/elixir:1.14.3-erlang-25.2.2-debian-bullseye-20230109 + <<: *on-stable + environment: + MIX_ENV: prod + DEBIAN_FRONTEND: noninteractive + commands: + - apt-get update && apt-get install -y cmake libmagic-dev rclone zip imagemagick libmagic-dev git build-essential gcc make g++ wget + - *clean + - echo "import Config" > config/prod.secret.exs + - *setup-hex + - *tag-build + - *mix-clean + - mix deps.get --only prod + - mix release --path release + - zip akkoma-arm64.zip -r release + + release-debian: + image: akkoma/releaser:arm64 + <<: *on-stable + secrets: *scw-secrets + commands: + - export SOURCE=akkoma-arm64.zip + - export DEST=scaleway:akkoma-updates/$${CI_COMMIT_TAG:-"$CI_COMMIT_BRANCH"}/akkoma-arm64.zip + - /bin/sh /entrypoint.sh + - export DEST=scaleway:akkoma-updates/$${CI_COMMIT_TAG:-"$CI_COMMIT_BRANCH"}/akkoma-debian-stable.zip + - /bin/sh /entrypoint.sh + + # Canonical arm64-musl + musl: + image: hexpm/elixir:1.14.3-erlang-25.2.2-alpine-3.18.0 + <<: *on-stable + environment: + MIX_ENV: prod + commands: + - apk add git gcc g++ musl-dev make cmake file-dev rclone wget zip imagemagick + - *clean + - *setup-hex + - *mix-clean + - *tag-build + - mix deps.get --only prod + - mix release --path release + - zip akkoma-arm64-musl.zip -r release + + release-musl: + image: akkoma/releaser:arm64 + <<: *on-stable + secrets: *scw-secrets + commands: + - export SOURCE=akkoma-arm64-musl.zip + - export DEST=scaleway:akkoma-updates/$${CI_COMMIT_TAG:-"$CI_COMMIT_BRANCH"}/akkoma-arm64-musl.zip + - /bin/sh /entrypoint.sh diff --git a/.woodpecker/docs.yml b/.woodpecker/docs.yml new file mode 100644 index 000000000..cc4017659 --- /dev/null +++ b/.woodpecker/docs.yml @@ -0,0 +1,69 @@ +platform: linux/amd64 + +depends_on: + - test + - build-amd64 + +variables: + - &scw-secrets + - SCW_ACCESS_KEY + - SCW_SECRET_KEY + - SCW_DEFAULT_ORGANIZATION_ID + - &setup-hex "mix local.hex --force && mix local.rebar --force" + - &on-release + when: + event: + - push + - tag + branch: + - develop + - stable + - refs/tags/v* + - refs/tags/stable-* + - &on-stable + when: + event: + - push + - tag + branch: + - stable + - refs/tags/stable-* + - &on-point-release + when: + event: + - push + branch: + - develop + - stable + - &on-pr-open + when: + event: + - pull_request + + - &tag-build "export BUILD_TAG=$${CI_COMMIT_TAG:-\"$CI_COMMIT_BRANCH\"} && export PLEROMA_BUILD_BRANCH=$BUILD_TAG" + + - &clean "(rm -rf release || true) && (rm -rf _build || true) && (rm -rf /root/.mix)" + - &mix-clean "mix deps.clean --all && mix clean" + +pipeline: + docs: + <<: *on-point-release + secrets: + - SCW_ACCESS_KEY + - SCW_SECRET_KEY + - SCW_DEFAULT_ORGANIZATION_ID + environment: + CI: "true" + image: python:3.10-slim + commands: + - apt-get update && apt-get install -y rclone wget git zip + - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64 + - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli + - chmod +x scaleway-cli + - ./scaleway-cli object config install type=rclone + - cd docs + - pip install -r requirements.txt + - mkdocs build + - zip -r docs.zip site/* + - cd site + - rclone copy . scaleway:akkoma-docs/$CI_COMMIT_BRANCH/ diff --git a/.woodpecker/test.yml b/.woodpecker/test.yml new file mode 100644 index 000000000..958c642d5 --- /dev/null +++ b/.woodpecker/test.yml @@ -0,0 +1,96 @@ +platform: linux/amd64 + +variables: + - &scw-secrets + - SCW_ACCESS_KEY + - SCW_SECRET_KEY + - SCW_DEFAULT_ORGANIZATION_ID + - &setup-hex "mix local.hex --force && mix local.rebar --force" + - &on-release + when: + event: + - push + - tag + branch: + - develop + - stable + - refs/tags/v* + - refs/tags/stable-* + - &on-stable + when: + event: + - push + - tag + branch: + - stable + - refs/tags/stable-* + - &on-point-release + when: + event: + - push + branch: + - develop + - stable + - &on-pr-open + when: + event: + - pull_request + + - &tag-build "export BUILD_TAG=$${CI_COMMIT_TAG:-\"$CI_COMMIT_BRANCH\"} && export PLEROMA_BUILD_BRANCH=$BUILD_TAG" + + - &clean "(rm -rf release || true) && (rm -rf _build || true) && (rm -rf /root/.mix)" + - &mix-clean "mix deps.clean --all && mix clean" + +services: + postgres: + image: postgres:15 + when: + event: + - pull_request + environment: + POSTGRES_DB: pleroma_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + +pipeline: + lint: + <<: *on-pr-open + image: akkoma/ci-base:1.14 + commands: + - mix local.hex --force + - mix local.rebar --force + - mix format --check-formatted + + build: + image: akkoma/ci-base:1.14 + <<: *on-pr-open + environment: + MIX_ENV: test + POSTGRES_DB: pleroma_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + DB_HOST: postgres + commands: + - mix local.hex --force + - mix local.rebar --force + - mix deps.get + - mix compile + + test: + image: akkoma/ci-base:1.14 + <<: *on-pr-open + environment: + MIX_ENV: test + POSTGRES_DB: pleroma_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + DB_HOST: postgres + commands: + - mix local.hex --force + - mix local.rebar --force + - mix deps.get + - mix compile + - mix ecto.drop -f -q + - mix ecto.create + - mix ecto.migrate + - mix test --preload-modules --exclude erratic --exclude federated --max-cases 4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0437033ee..6f2c2f425 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,79 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased +## Added + +- Added a new configuration option to the MediaProxy feature that allows the blocking of specific domains from using the media proxy or being explicitly allowed by the Content-Security-Policy. + - Please make sure instances you wanted to block media from are not in the MediaProxy `whitelist`, and instead use `blocklist`. +- `OnlyMedia` Upload Filter to simplify restricting uploads to audio, image, and video types +- ARM64 OTP builds + - Ubuntu22 builds are available for develop and stable + - other distributions are stable only + +## Changed + +- Alpine OTP builds are now from alpine 3.18, which is SSLv3 compatible. + If you use alpine OTP builds you will have to update your local system. + +## Fixed + +- Deactivated users can no longer show up in the emoji reaction list +- Embedded posts can no longer bypass `:restrict\_unauthenticated` + +## Security + +- Add `no_new_privs` hardening to OpenRC and systemd service files + +## 2023.05 + +## Added +- Custom options for users to accept/reject private messages + - options: everybody, nobody, people\_i\_follow +- MRF to reject notes from accounts newer than a given age + - this will have the side-effect of rejecting legitimate messages if your + post gets boosted outside of your local bubble and people your instance + does not know about reply to it. + +## Fixed +- Support for `streams` public key URIs +- Bookmarks are cleaned up on DB prune now + +## Security +- Fixed mediaproxy being a bit of a silly billy + +## 2023.04 + +## Added +- Nodeinfo keys for unauthenticated timeline visibility +- Option to disable federated timeline +- Option to make the bubble timeline publicly accessible +- Ability to swap between installed standard frontends + - *mastodon frontends are still not counted as standard frontends due to the complexity in serving them correctly*. + +### Upgrade Notes +- Elixir 1.14 is now required. If your distribution does not package this, you can + use [asdf](https://asdf-vm.com/). At time of writing, elixir 1.14.3 / erlang 25.3 + is confirmed to work. + +## 2023.03 + +## Fixed +- Allowed contentMap to be updated on edit +- Filter creation now accepts expires\_at + +### Changed +- Restoring the database from a dump now goes much faster without need for work-arounds +- Misskey reaction matching uses `content` parameter now + +### Added +- Extend the mix task `prune_objects` with option `--prune-orphaned-activities` to also prune orphaned activities, allowing to reclaim even more database space + +### Removed +- Possibility of using the `style` parameter on `span` elements. This will break certain MFM parameters. +- Option for "default" image description. + +## 2023.02 + ### Added - Prometheus metrics exporting from `/api/v1/akkoma/metrics` - Ability to alter http pool size @@ -37,6 +110,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Simplified HTTP signature processing - Rich media will now hard-exit after 5 seconds, to prevent timeline hangs - HTTP Content Security Policy is now far more strict to prevent any potential XSS/CSS leakages +- Follow requests are now paginated, matches mastodon API spec, so use the Link header to paginate. ### Fixed - /api/v1/accounts/lookup will now respect restrict\_unauthenticated diff --git a/Dockerfile b/Dockerfile index 0551a4c9e..b175d7835 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM hexpm/elixir:1.13.4-erlang-24.3.4.5-alpine-3.15.6 +FROM hexpm/elixir:1.14.3-erlang-25.2.2-alpine-3.18.0 ENV MIX_ENV=prod ENV ERL_EPMD_ADDRESS=127.0.0.1 diff --git a/Makefile b/Makefile deleted file mode 100644 index bc8719e68..000000000 --- a/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -all: install - pipenv run mkdocs build - -install: - pipenv install -clean: - rm -rf docs diff --git a/README.md b/README.md index 8d35212aa..e4aa25715 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,9 @@ If your platform is not supported, or you just want to be able to edit the sourc ### Docker Docker installation is supported via [this setup](https://docs.akkoma.dev/stable/installation/docker_en/) +### Packages +Akkoma is packaged for [YunoHost](https://yunohost.org) and can be found and installed from the [YunoHost app catalogue](https://yunohost.org/#/apps). + ### Compilation Troubleshooting If you ever encounter compilation issues during the updating of Akkoma, you can try these commands and see if they fix things: diff --git a/config/config.exs b/config/config.exs index 0611f7c26..3430ee4d7 100644 --- a/config/config.exs +++ b/config/config.exs @@ -65,7 +65,6 @@ link_name: false, proxy_remote: false, filename_display_max_length: 30, - default_description: nil, base_url: nil config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads" @@ -261,7 +260,8 @@ privileged_staff: false, local_bubble: [], max_frontend_settings_json_chars: 100_000, - export_prometheus_metrics: true + export_prometheus_metrics: true, + federated_timeline_available: true config :pleroma, :welcome, direct_message: [ @@ -354,7 +354,7 @@ config :pleroma, :activitypub, unfollow_blocked: true, - outgoing_blocks: true, + outgoing_blocks: false, blockers_visible: true, follow_handshake_timeout: 500, note_replies_output_limit: 5, @@ -418,6 +418,8 @@ config :pleroma, :mrf_follow_bot, follower_nickname: nil +config :pleroma, :mrf_reject_newly_created_account_notes, age: 86_400 + config :pleroma, :rich_media, enabled: true, ignore_hosts: [], @@ -441,7 +443,8 @@ # Note: max_read_duration defaults to Pleroma.ReverseProxy.max_read_duration_default/1 max_read_duration: 30_000 ], - whitelist: [] + whitelist: [], + blocklist: [] config :pleroma, Pleroma.Web.MediaProxy.Invalidation.Http, method: :purge, @@ -745,6 +748,9 @@ primary: %{"name" => "pleroma-fe", "ref" => "stable"}, admin: %{"name" => "admin-fe", "ref" => "stable"}, mastodon: %{"name" => "mastodon-fe", "ref" => "akkoma"}, + pickable: [ + "pleroma-fe/stable" + ], swagger: %{ "name" => "swagger-ui", "ref" => "stable", @@ -810,7 +816,7 @@ private_instance? = :if_instance_is_private config :pleroma, :restrict_unauthenticated, - timelines: %{local: private_instance?, federated: private_instance?}, + timelines: %{local: private_instance?, federated: private_instance?, bubble: true}, profiles: %{local: private_instance?, remote: private_instance?}, activities: %{local: private_instance?, remote: private_instance?} diff --git a/config/custom_emoji.txt b/config/custom_emoji.txt index e69de29bb..7b2e51265 100644 --- a/config/custom_emoji.txt +++ b/config/custom_emoji.txt @@ -0,0 +1,2 @@ +hehe, /emoji/hehe.png, Akkoma +nothehe, /emoji/nothehe.png, Akkoma diff --git a/config/description.exs b/config/description.exs index 6b151a59f..d425bf386 100644 --- a/config/description.exs +++ b/config/description.exs @@ -790,7 +790,7 @@ %{ key: :healthcheck, type: :boolean, - description: "If enabled, system data will be shown on `/api/pleroma/healthcheck`" + description: "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" }, %{ key: :remote_post_retention_days, @@ -969,6 +969,12 @@ key: :export_prometheus_metrics, type: :boolean, description: "Enable prometheus metrics (at /api/v1/akkoma/metrics)" + }, + %{ + key: :federated_timeline_available, + type: :boolean, + description: + "Let people view the 'firehose' feed of all public statuses from all instances." } ] }, @@ -1552,7 +1558,21 @@ %{ key: :whitelist, type: {:list, :string}, - description: "List of hosts with scheme to bypass the MediaProxy", + description: """ + List of hosts with scheme to bypass the MediaProxy.\n + The media will be fetched by the client, directly from the remote server.\n + To allow this, it will Content-Security-Policy exceptions for each instance listed.\n + This is to be used for instances you trust and do not want to cache media for. + """, + suggestions: ["http://example.com"] + }, + %{ + key: :blocklist, + type: {:list, :string}, + description: """ + List of hosts with scheme which will not go through the MediaProxy, and will not be explicitly allowed by the Content-Security-Policy. + This is to be used for instances where you do not want their media to go through your server or to be accessed by clients. + """, suggestions: ["http://example.com"] } ] @@ -2993,6 +3013,11 @@ key: :federated, type: :boolean, description: "Disallow viewing the whole known network timeline." + }, + %{ + key: :bubble, + type: :boolean, + description: "Disallow viewing the bubble timeline." } ] }, @@ -3148,6 +3173,12 @@ description: "A map containing available frontends and parameters for their installation.", children: frontend_options + }, + %{ + key: :pickable, + type: {:list, :string}, + description: + "A list containing all frontends users can pick as their preference, format is :name/:ref, e.g pleroma-fe/stable." } ] }, diff --git a/config/test.exs b/config/test.exs index 3056dbd03..4448eeb73 100644 --- a/config/test.exs +++ b/config/test.exs @@ -23,8 +23,7 @@ config :pleroma, Pleroma.Upload, filters: [], - link_name: false, - default_description: :filename + link_name: false config :pleroma, Pleroma.Uploaders.Local, uploads: "test/uploads" diff --git a/docker-resources/build.sh b/docker-resources/build.sh index daa653da6..ce4f30f8d 100755 --- a/docker-resources/build.sh +++ b/docker-resources/build.sh @@ -1,4 +1,4 @@ #!/bin/sh -docker-compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) akkoma -docker-compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) db +docker compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) akkoma +docker compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) db diff --git a/docker-resources/manage.sh b/docker-resources/manage.sh index 944f5e2e2..acb6618c3 100755 --- a/docker-resources/manage.sh +++ b/docker-resources/manage.sh @@ -1,3 +1,3 @@ #!/bin/sh -docker-compose run --rm akkoma $@ +docker compose run --rm akkoma $@ diff --git a/docs/README.md b/docs/README.md index fcf043f56..3da3d1967 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,33 +2,27 @@ You don't need to build and test the docs as long as you make sure the syntax is correct. But in case you do want to build the docs, feel free to do so. -You'll need to install mkdocs for which you can check the [mkdocs installation guide](https://www.mkdocs.org/#installation). Generally it's best to install it using `pip`. You'll also need to install the correct dependencies. +```sh +# Make sure you're in the same directory as this README +# From the root of the Akkoma repo, you'll need to do +cd docs -### Example using a Debian based distro +# Optionally use a virtual environment +python3 -m venv venv +source venv/bin/activate -#### 1. Install pipenv and dependencies +# Install dependencies +pip install -r requirements.txt -```shell -pip install pipenv -pipenv sync +# Run an http server who rebuilds when files change +# Accessable on http://127.0.0.1:8000 +mkdocs serve + +# Build the docs +# The static html pages will have been created in the folder "site" +# You can serve them from a server by pointing your server software (nginx, apache...) to this location +mkdocs build + +# To get out of the virtual environment, you do +deactivate ``` - -#### 2. (Optional) Activate the virtual environment - -Since dependencies are installed in a virtual environment, you can't use them directly. To use them you should either prefix the command with `pipenv run`, or activate the virtual environment for current shell by executing `pipenv shell` once. - -#### 3. Build the docs using the script - -```shell -[pipenv run] make all -``` - -#### 4. Serve the files - -A folder `site` containing the static html pages will have been created. You can serve them from a server by pointing your server software (nginx, apache...) to this location. During development, you can run locally with - -```shell -[pipenv run] mkdocs serve -``` - -This handles setting up an http server and rebuilding when files change. You can then access the docs on diff --git a/docs/docs/administration/CLI_tasks/database.md b/docs/docs/administration/CLI_tasks/database.md index 915139cf7..3d7424d1c 100644 --- a/docs/docs/administration/CLI_tasks/database.md +++ b/docs/docs/administration/CLI_tasks/database.md @@ -21,7 +21,6 @@ Replaces embedded objects with references to them in the `objects` table. Only n mix pleroma.database remove_embedded_objects [option ...] ``` - ### Options - `--vacuum` - run `VACUUM FULL` after the embedded objects are replaced with their references @@ -29,8 +28,11 @@ Replaces embedded objects with references to them in the `objects` table. Only n This will prune remote posts older than 90 days (configurable with [`config :pleroma, :instance, remote_post_retention_days`](../../configuration/cheatsheet.md#instance)) from the database. Pruned posts may be refetched in some cases. +!!! note + The disk space will only be reclaimed after a proper vacuum. By default Postgresql does this for you on a regular basis, but if your instance has been running for a long time and there are many rows deleted, it may be advantageous to use `VACUUM FULL` (e.g. by using the `--vacuum` option). + !!! danger - The disk space will only be reclaimed after `VACUUM FULL`. You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free. + You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free. Vacuum causes a substantial increase in I/O traffic, and may lead to a degraded experience while it is running. === "OTP" @@ -46,9 +48,10 @@ This will prune remote posts older than 90 days (configurable with [`config :ple ### Options -- `--keep-threads` - don't prune posts when they are part of a thread where at least one post has seen local interaction (e.g. one of the posts is a local post, or is favourited by a local user, or has been repeated by a local user...) -- `--keep-non-public` - keep non-public posts like DM's and followers-only, even if they are remote -- `--vacuum` - run `VACUUM FULL` after the objects are pruned +- `--keep-threads` - Don't prune posts when they are part of a thread where at least one post has seen local interaction (e.g. one of the posts is a local post, or is favourited by a local user, or has been repeated by a local user...). It also wont delete posts when at least one of the posts in that thread is kept (e.g. because one of the posts has seen recent activity). +- `--keep-non-public` - Keep non-public posts like DM's and followers-only, even if they are remote. +- `--prune-orphaned-activities` - Also prune orphaned activities afterwards. Activities are things like Like, Create, Announce, Flag (aka reports)... They can significantly help reduce the database size. +- `--vacuum` - Run `VACUUM FULL` after the objects are pruned. This should not be used on a regular basis, but is useful if your instance has been running for a long time before pruning. ## Create a conversation for all existing DMs @@ -96,6 +99,9 @@ Can be safely re-run ## Vacuum the database +!!! note + By default Postgresql has an autovacuum deamon running. While the tasks described here can help in some cases, they shouldn't be needed on a regular basis. See [the Postgresql docs on vacuuming](https://www.postgresql.org/docs/current/sql-vacuum.html) for more information on this. + ### Analyze Running an `analyze` vacuum job can improve performance by updating statistics used by the query planner. **It is safe to cancel this.** diff --git a/docs/docs/administration/CLI_tasks/frontend.md b/docs/docs/administration/CLI_tasks/frontend.md index 382ac268e..5d0c7147a 100644 --- a/docs/docs/administration/CLI_tasks/frontend.md +++ b/docs/docs/administration/CLI_tasks/frontend.md @@ -42,7 +42,7 @@ For a frontend configured under the `available` key, it's enough to install it b This will download the latest build for the pre-configured `ref` and install it. It can then be configured as the one of the served frontends in the config file (see `primary` or `admin`). -You can override any of the details. To install a Pleroma-FE build from a different URL, you could do this: +You can override any of the details. To install an Akkoma-FE build from a different URL, you could do this: === "OTP" diff --git a/docs/docs/administration/backup.md b/docs/docs/administration/backup.md index cf2f7d1b0..5c5df88ce 100644 --- a/docs/docs/administration/backup.md +++ b/docs/docs/administration/backup.md @@ -21,33 +21,15 @@ 6. Restore the database schema and akkoma role using either of the following options * You can use the original `setup_db.psql` if you have it[²]: `sudo -Hu postgres psql -f config/setup_db.psql`. * Or recreate the database and user yourself (replace the password with the one you find in the config file) `sudo -Hu postgres psql -c "CREATE USER akkoma WITH ENCRYPTED PASSWORD ''; CREATE DATABASE akkoma OWNER akkoma;"`. -7. Now restore the Akkoma instance's data into the empty database schema[¹][³]: `sudo -Hu postgres pg_restore -d akkoma -v -1 ` -8. If you installed a newer Akkoma version, you should run `MIX_ENV=prod mix ecto.migrate`[⁴]. This task performs database migrations, if there were any. +7. Now restore the Akkoma instance's data into the empty database schema[¹]: `sudo -Hu postgres pg_restore -d akkoma -v -1 ` +8. If you installed a newer Akkoma version, you should run `MIX_ENV=prod mix ecto.migrate`[³]. This task performs database migrations, if there were any. 9. Restart the Akkoma service. 10. Run `sudo -Hu postgres vacuumdb --all --analyze-in-stages`. This will quickly generate the statistics so that postgres can properly plan queries. 11. If setting up on a new server configure Nginx by using the `installation/akkoma.nginx` config sample or reference the Akkoma installation guide for your OS which contains the Nginx configuration instructions. [¹]: We assume the database name and user are both "akkoma". If not, you can find the correct name in your config files. [²]: You can recreate the `config/setup_db.psql` by running the `mix pleroma.instance gen` task again. You can ignore most of the questions, but make the database user, name, and password the same as found in your backed up config file. This will also create a new `config/generated_config.exs` file which you may delete as it is not needed. -[³]: `pg_restore` will add data before adding indexes. The indexes are added in alphabetical order. There's one index, `activities_visibility_index` which may take a long time because it can't make use of an index that's only added later. You can significantly speed up restoration by skipping this index and add it afterwards. For that, you can do the following (we assume the akkoma.pgdump is in the directory you're running the commands): - -```sh -pg_restore -l akkoma.pgdump > db.list - -# Comment out the step for creating activities_visibility_index by adding a semi colon at the start of the line -sed -i -E 's/(.*activities_visibility_index.*)/;\1/' db.list - -# We restore the database using the db.list list-file -sudo -Hu postgres pg_restore -L db.list -d akkoma -v -1 akkoma.pgdump - -# You can see the sql statement with which to create the index using -grep -Eao 'CREATE INDEX activities_visibility_index.*' akkoma.pgdump - -# Then create the index manually -# Make sure that the command to create is correct! You never know it has changed since writing this guide -sudo -Hu postgres psql -d pleroma_ynh -c "CREATE INDEX activities_visibility_index ON public.activities USING btree (public.activity_visibility(actor, recipients, data), id DESC NULLS LAST) WHERE ((data ->> 'type'::text) = 'Create'::text);" -``` -[⁴]: Prefix with `MIX_ENV=prod` to run it using the production config file. +[³]: Prefix with `MIX_ENV=prod` to run it using the production config file. ## Remove diff --git a/docs/docs/administration/updating.md b/docs/docs/administration/updating.md index d0c955e1a..94bddfb6c 100644 --- a/docs/docs/administration/updating.md +++ b/docs/docs/administration/updating.md @@ -26,11 +26,11 @@ su -s "$SHELL" akkoma # Run database migrations ./bin/pleroma_ctl migrate -# Update frontend(s). See Frontend Configuration doc for more information. -./bin/pleroma_ctl frontend install pleroma-fe --ref stable - # Start akkoma ./bin/pleroma daemon # or using the system service manager (e.g. systemctl start akkoma) + +# Update frontend(s). See Frontend Configuration doc for more information. +./bin/pleroma_ctl frontend install pleroma-fe --ref stable ``` If you selected an alternate flavour on installation, @@ -59,9 +59,9 @@ sudo systemctl stop akkoma # Run database migrations mix ecto.migrate -# Update Pleroma-FE frontend to latest stable. For other Frontends see Frontend Configration doc for more information. -mix pleroma.frontend install pleroma-fe --ref stable - # Start akkoma (replace with your system service manager's equivalent if different) sudo systemctl start akkoma + +# Update Akkoma-FE frontend to latest stable. For other Frontends see Frontend Configuration doc for more information. +mix pleroma.frontend install pleroma-fe --ref stable ``` diff --git a/docs/docs/clients.md b/docs/docs/clients.md index fb8408718..1452b9505 100644 --- a/docs/docs/clients.md +++ b/docs/docs/clients.md @@ -2,6 +2,14 @@ Note: Additional clients may work, but these are known to work with Akkoma. Apps listed here might not support all of Akkoma's features. +## Multiplatform +### Kaiteki +- Homepage: +- Source Code: +- Contact: [@kaiteki@fedi.software](https://fedi.software/@Kaiteki) +- Platforms: Web, Windows, Linux, Android +- Features: MastoAPI, Supports multiple backends + ## Desktop ### Whalebird - Homepage: @@ -25,7 +33,7 @@ Apps listed here might not support all of Akkoma's features. - Features: MastoAPI, Streaming Ready, Moderation, Text Formatting ### Husky -- Source code: +- Source code: - Contact: [@captainepoch@stereophonic.space](https://stereophonic.space/captainepoch) - Platforms: Android - Features: MastoAPI, No Streaming, Emoji Reactions, Text Formatting, FE Stickers @@ -45,10 +53,10 @@ Apps listed here might not support all of Akkoma's features. ## Alternative Web Interfaces ### Pinafore +- Note: Pinafore is unmaintained (See [the author's original article](https://nolanlawson.com/2023/01/09/retiring-pinafore/) for details) - Homepage: - Source Code: - Contact: [@pinafore@mastodon.technology](https://mastodon.technology/users/pinafore) -- Note: Pleroma support is a secondary goal - Features: MastoAPI, No Streaming ### Sengi diff --git a/docs/docs/configuration/cheatsheet.md b/docs/docs/configuration/cheatsheet.md index 4e84b9a44..73fdf9eea 100644 --- a/docs/docs/configuration/cheatsheet.md +++ b/docs/docs/configuration/cheatsheet.md @@ -246,11 +246,11 @@ Notes: ### :frontend_configurations -This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for `pleroma_fe` and `masto_fe` are configured. You can find the documentation for `pleroma_fe` configuration into [Pleroma-FE configuration and customization for instance administrators](https://docs-fe.akkoma.dev/stable/CONFIGURATION/#options). +This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for `pleroma_fe` and `masto_fe` are configured. You can find the documentation for `pleroma_fe` configuration into [Akkoma-FE configuration and customization for instance administrators](https://docs-fe.akkoma.dev/stable/CONFIGURATION/#options). Frontends can access these settings at `/api/v1/pleroma/frontend_configurations` -To add your own configuration for Pleroma-FE, use it like this: +To add your own configuration for Akkoma-FE, use it like this: ```elixir config :pleroma, :frontend_configurations, @@ -562,7 +562,6 @@ the source code is here: [kocaptcha](https://github.com/koto-bank/kocaptcha). Th * `proxy_remote`: If you're using a remote uploader, Akkoma will proxy media requests instead of redirecting to it. * `proxy_opts`: Proxy options, see `Pleroma.ReverseProxy` documentation. * `filename_display_max_length`: Set max length of a filename to display. 0 = no limit. Default: 30. -* `default_description`: Sets which default description an image has if none is set explicitly. Options: nil (default) - Don't set a default, :filename - use the filename of the file, a string (e.g. "attachment") - Use this string !!! warning `strip_exif` has been replaced by `Pleroma.Upload.Filter.Mogrify`. @@ -616,6 +615,12 @@ This filter only strips the GPS and location metadata with Exiftool leaving colo No specific configuration. +#### Pleroma.Upload.Filter.OnlyMedia + +This filter rejects uploads that are not identified with Content-Type matching audio/\*, image/\*, or video/\* + +No specific configuration. + #### Pleroma.Upload.Filter.Mogrify * `args`: List of actions for the `mogrify` command like `"strip"` or `["strip", "auto-orient", {"implode", "1"}]`. diff --git a/docs/docs/configuration/howto_theming_your_instance.md b/docs/docs/configuration/howto_theming_your_instance.md index c226d054b..093c12763 100644 --- a/docs/docs/configuration/howto_theming_your_instance.md +++ b/docs/docs/configuration/howto_theming_your_instance.md @@ -6,7 +6,7 @@ To add a custom theme to your instance, you'll first need to get a custom theme, ### Create your own theme -* You can create your own theme using the Pleroma FE by going to settings (gear on the top right) and choose the Theme tab. Here you have the options to create a personal theme. +* You can create your own theme using the Akkoma FE by going to settings (gear on the top right) and choose the Theme tab. Here you have the options to create a personal theme. * To download your theme, you can do Save preset * If you want to upload a theme to customise it further, you can upload it using Load preset @@ -70,4 +70,4 @@ config :pleroma, :frontend_configurations, } ``` -If you added it in the back-end configuration file, you'll need to restart your instance for the changes to take effect. If you don't see the changes, it's probably because the browser has cached the previous theme. In that case you'll want to clear browser caches. Alternatively you can use a private/incognito window just to see the changes. \ No newline at end of file +If you added it in the back-end configuration file, you'll need to restart your instance for the changes to take effect. If you don't see the changes, it's probably because the browser has cached the previous theme. In that case you'll want to clear browser caches. Alternatively you can use a private/incognito window just to see the changes. diff --git a/docs/docs/configuration/postgresql.md b/docs/docs/configuration/postgresql.md index 32ea97fe3..3d5b78c0d 100644 --- a/docs/docs/configuration/postgresql.md +++ b/docs/docs/configuration/postgresql.md @@ -6,6 +6,31 @@ Akkoma performance is largely dependent on performance of the underlying databas [PgTune](https://pgtune.leopard.in.ua) can be used to get recommended settings. Be sure to set "Number of Connections" to 20, otherwise it might produce settings hurtful to database performance. It is also recommended to not use "Network Storage" option. +If your server runs other services, you may want to take that into account. E.g. if you have 4G ram, but 1G of it is already used for other services, it may be better to tell PGTune you only have 3G. In the end, PGTune only provides recomended settings, you can always try to finetune further. + +### Example configurations + +Here are some configuration suggestions for PostgreSQL 10+. + +#### 1GB RAM, 1 CPU +``` +shared_buffers = 256MB +effective_cache_size = 768MB +maintenance_work_mem = 64MB +work_mem = 13107kB +``` + +#### 2GB RAM, 2 CPU +``` +shared_buffers = 512MB +effective_cache_size = 1536MB +maintenance_work_mem = 128MB +work_mem = 26214kB +max_worker_processes = 2 +max_parallel_workers_per_gather = 1 +max_parallel_workers = 2 +``` + ## Disable generic query plans When PostgreSQL receives a query, it decides on a strategy for searching the requested data, this is called a query plan. The query planner has two modes: generic and custom. Generic makes a plan for all queries of the same shape, ignoring the parameters, which is then cached and reused. Custom, on the contrary, generates a unique query plan based on query parameters. @@ -23,26 +48,3 @@ config :pleroma, Pleroma.Repo, ``` A more detailed explaination of the issue can be found at . - -## Example configurations - -Here are some configuration suggestions for PostgreSQL 10+. - -### 1GB RAM, 1 CPU -``` -shared_buffers = 256MB -effective_cache_size = 768MB -maintenance_work_mem = 64MB -work_mem = 13107kB -``` - -### 2GB RAM, 2 CPU -``` -shared_buffers = 512MB -effective_cache_size = 1536MB -maintenance_work_mem = 128MB -work_mem = 26214kB -max_worker_processes = 2 -max_parallel_workers_per_gather = 1 -max_parallel_workers = 2 -``` diff --git a/docs/docs/configuration/storing_remote_media.md b/docs/docs/configuration/storing_remote_media.md index ebea01339..deb1651b8 100644 --- a/docs/docs/configuration/storing_remote_media.md +++ b/docs/docs/configuration/storing_remote_media.md @@ -6,33 +6,46 @@ as soon as the post is received by your instance. ## Nginx -``` - proxy_cache_path /long/term/storage/path/akkoma-media-cache levels=1:2 - keys_zone=akkoma_media_cache:10m inactive=1y use_temp_path=off; +The following are excerpts from the [suggested nginx config](../../../installation/nginx/akkoma.nginx) that demonstrates the necessary config for the media proxy to work. +A `proxy_cache_path` must be defined, for example: + +``` +proxy_cache_path /long/term/storage/path/akkoma-media-cache levels=1:2 + keys_zone=akkoma_media_cache:10m inactive=1y use_temp_path=off; +``` + +The `proxy_cache_path` must then be configured for use with media proxy paths: + +``` location ~ ^/(media|proxy) { proxy_cache akkoma_media_cache; slice 1m; proxy_cache_key $host$uri$is_args$args$slice_range; proxy_set_header Range $slice_range; - proxy_http_version 1.1; - proxy_cache_valid 206 301 302 304 1h; - proxy_cache_valid 200 1y; - proxy_cache_use_stale error timeout invalid_header updating; + proxy_cache_valid 200 206 301 304 1h; + proxy_cache_lock on; proxy_ignore_client_abort on; proxy_buffering on; chunked_transfer_encoding on; - proxy_ignore_headers Cache-Control Expires; - proxy_hide_header Cache-Control Expires; - proxy_pass http://127.0.0.1:4000; + proxy_pass http://phoenix; } +} ``` +Ensure that `proxy_http_version 1.1;` is set for the above `location` block. In the suggested config, this is already the case. + ## Akkoma -Add to your `prod.secret.exs`: +### File-based Configuration + +If you're using static file configuration, add the `MediaProxyWarmingPolicy` to your MRF policies. For example: ``` config :pleroma, :mrf, policies: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy] ``` + +### Database Configuration + +In the admin interface, add `MediaProxyWarmingPolicy` to the `Policies` option under `Settings` → `MRF`. diff --git a/docs/docs/development/API/admin_api.md b/docs/docs/development/API/admin_api.md index 79cb573ac..958388879 100644 --- a/docs/docs/development/API/admin_api.md +++ b/docs/docs/development/API/admin_api.md @@ -2,7 +2,7 @@ Authentication is required and the user must be an admin. -The `/api/v1/pleroma/admin/*` path is backwards compatible with `/api/pleroma/admin/*` (`/api/pleroma/admin/*` will be deprecated in the future). +Backwards-compatibility for admin API endpoints without version prefixes (`/api/pleroma/admin/*`) has been removed as of Akkoma 3.6.0. Please use `/api/v1/pleroma/admin/*` instead. ## `GET /api/v1/pleroma/admin/users` diff --git a/docs/docs/development/API/differences_in_mastoapi_responses.md b/docs/docs/development/API/differences_in_mastoapi_responses.md index b41561c45..053dc9663 100644 --- a/docs/docs/development/API/differences_in_mastoapi_responses.md +++ b/docs/docs/development/API/differences_in_mastoapi_responses.md @@ -25,6 +25,7 @@ Home, public, hashtag & list timelines accept these parameters: ## Statuses - `visibility`: has additional possible values `list` and `local` (for local-only statuses) +- `emoji_reactions`: additional field since Akkoma 3.2.0; identical to `pleroma/emoji_reactions` Has these additional fields under the `pleroma` object: @@ -36,7 +37,9 @@ Has these additional fields under the `pleroma` object: - `spoiler_text`: a map consisting of alternate representations of the `spoiler_text` property with the key being its mimetype. Currently, the only alternate representation supported is `text/plain` - `expires_at`: a datetime (iso8601) that states when the post will expire (be deleted automatically), or empty if the post won't expire - `thread_muted`: true if the thread the post belongs to is muted -- `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 1, me: true}`. Contains no information about the reacting users, for that use the `/statuses/:id/reactions` endpoint. +- `emoji_reactions`: A list with emoji / reaction maps. The format is `{name: "☕", count: 2, me: true, account_ids: ["UserID1", "UserID2"]}`. + The `account_ids` property was added in Akkoma 3.2.0. + Further info about all reacting users at once, can be found using the `/statuses/:id/reactions` endpoint. - `parent_visible`: If the parent of this post is visible to the user or not. - `pinned_at`: a datetime (iso8601) when status was pinned, `null` otherwise. @@ -214,6 +217,11 @@ Returns: array of Status. The maximum number of statuses is limited to 100 per request. +## PUT `/api/v1/statuses/:id/emoji_reactions/:emoji` + +This endpoint is an extension of the Fedibird Mastodon fork. +It behaves identical to PUT `/api/v1/pleroma/statuses/:id/reactions/:emoji`. + ## PATCH `/api/v1/accounts/update_credentials` Additional parameters can be added to the JSON body/Form data: diff --git a/docs/docs/development/API/prometheus.md b/docs/docs/development/API/prometheus.md index 39ecc5d38..b990593f0 100644 --- a/docs/docs/development/API/prometheus.md +++ b/docs/docs/development/API/prometheus.md @@ -5,27 +5,16 @@ Akkoma includes support for exporting metrics via the [prometheus_ex](https://gi Config example: ``` -config :prometheus, Pleroma.Web.Endpoint.MetricsExporter, - enabled: true, - auth: {:basic, "myusername", "mypassword"}, - ip_whitelist: ["127.0.0.1"], - path: "/api/pleroma/app_metrics", - format: :text +config :pleroma, :instance, + export_prometheus_metrics: true ``` -* `enabled` (Akkoma extension) enables the endpoint -* `ip_whitelist` (Akkoma extension) could be used to restrict access only to specified IPs -* `auth` sets the authentication (`false` for no auth; configurable to HTTP Basic Auth, see [prometheus-plugs](https://github.com/deadtrickster/prometheus-plugs#exporting) documentation) -* `format` sets the output format (`:text` or `:protobuf`) -* `path` sets the path to app metrics page - - -## `/api/pleroma/app_metrics` +## `/api/v1/akkoma/metrics` ### Exports Prometheus application metrics * Method: `GET` -* Authentication: not required by default (see configuration options above) +* Authentication: required * Params: none * Response: text @@ -37,7 +26,7 @@ The following is a config example to use with [Grafana](https://grafana.com) ``` - job_name: 'beam' - metrics_path: /api/pleroma/app_metrics + metrics_path: /api/v1/akkoma/metrics scheme: https static_configs: - targets: ['otp.akkoma.dev'] diff --git a/docs/docs/development/index.md b/docs/docs/development/index.md index 01a617596..8f2dd52d0 100644 --- a/docs/docs/development/index.md +++ b/docs/docs/development/index.md @@ -1 +1,48 @@ -This section contains notes and guidelines for developers. +# Contributing to Akkoma + +You wish to add a new feature in Akkoma, but don't know how to proceed? This guide takes you through the various steps of the development and contribution process. + +If you're looking for stuff to implement or fix, check the [bug-tracker](https://akkoma.dev/AkkomaGang/akkoma/issues) or [forum](https://meta.akkoma.dev/c/requests/5). + +Come say hi to us in the [#akkoma-dev chat room](./../#irc)! + +## Akkoma Clients + +Akkoma is the back-end. Clients have their own repositories and often separate projects. You can check what clients work with Akkoma [on the clients page](../clients/). If you maintain a working client not listed yet, feel free to make a PR [to these docs](./#docs)! + +For resources on APIs and such, check the sidebar of this page. + +## Docs + +The docs are written in Markdown, including certain extensions, and can be found [in the docs folder of the Akkoma repo](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/docs/). The content itself is stored in the `docs` subdirectory. + +## Technology + +Akkoma is written in [Elixir](https://elixir-lang.org/) and uses [Postgresql](https://www.postgresql.org/) for database. We use [Git](https://git-scm.com/) for collaboration and tracking code changes. Furthermore it can typically run on [Unix and Unix-like OS'es](https://en.wikipedia.org/wiki/Unix-like). For development, you should use an OS which [can run Akkoma](../installation/debian_based_en/). + +It's good to have at least some basic understanding of at least Git and Elixir. If this is completely new for you, there's some [videos explaining Git](https://git-scm.com/doc) and Codeberg has a nice article explaining the typical [pull requests Git flow](https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/). For Elixir, you can follow Elixir's own [Getting Started guide](https://elixir-lang.org/getting-started/introduction.html). + +## Setting up a development environment + +The best way to start is getting the software to run from source so you can start poking on it. Check out the [guides for setting up an Akkoma instance for development](setting_up_akkoma_dev/#setting-up-a-akkoma-development-environment). + +## General overview +### Modules + +Akkoma has several modules. There are modules for [uploading](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/lib/pleroma/uploaders), [upload filters](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/lib/pleroma/upload/filter), [translators](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/lib/pleroma/akkoma/translators)... The most famous ones are without a doubt the [MRF policies](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/lib/pleroma/web/activity_pub/mrf). Modules are often self contained and a good way to start with development because you don't have to think about much more than just the module itself. We even have an example on [writing your own MRF policy](/configuration/mrf/#writing-your-own-mrf-policy)! + +Another easy entry point is the [mix tasks](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/lib/mix/tasks/pleroma). They too are often self contained and don't need you to go through much of the code. + +### Activity Streams/Activity Pub + +Akkoma uses Activity Streams for both federation, as well as internal representation. It may be interesting to at least go over the specifications of [Activity Pub](https://www.w3.org/TR/activitypub/), [Activity Streams 2.0](https://www.w3.org/TR/activitystreams-core/), and [Activity Streams Vocabulary](https://www.w3.org/TR/activitystreams-vocabulary/). Note that these are not enough to have a full grasp of how everything works, but should at least give you the basics to understand how messages are passed between and inside Akkoma instances. + +## Don't forget + +When you make changes, you're expected to create [a Pull Request](https://akkoma.dev/AkkomaGang/akkoma/pulls). You don't have to wait until you finish to create the PR, but please do prefix the title of the PR with "WIP: " for as long as you're still working on it. The sooner you create your PR, the sooner people know what you are working on and the sooner you can get feedback and, if needed, help. You can then simply keep working on it until you are finished. + +When doing changes, don't forget to add it to the relevant parts of the [CHANGELOG.md](https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/CHANGELOG.md). + +You're expected to write [tests](https://elixirschool.com/en/lessons/testing/basics). While code is generally stored in the `lib` directory, tests are stored in the `test` directory using a similar folder structure. Feel free to peak at other tests to see how they are done. Obviously tests are expected to pass and properly test the functionality you added. If you feel really confident, you could even try to [write a test first and then write the code needed to make it pass](https://en.wikipedia.org/wiki/Test-driven_development)! + +Code is formatted using the default formatter that comes with Elixir. You can format a file with e.g. `mix format /path/to/file.ex`. To check if everything is properly formatted, you can run `mix format --check-formatted`. diff --git a/docs/docs/development/setting_up_akkoma_dev.md b/docs/docs/development/setting_up_akkoma_dev.md index 7184be485..feded9904 100644 --- a/docs/docs/development/setting_up_akkoma_dev.md +++ b/docs/docs/development/setting_up_akkoma_dev.md @@ -5,22 +5,37 @@ Akkoma requires some adjustments from the defaults for running the instance loca ## Installing 1. Install Akkoma as explained in [the docs](../installation/debian_based_en.md), with some exceptions: - * You can use your own fork of the repository and add akkoma as a remote `git remote add akkoma 'https://akkoma.dev/AkkomaGang/akkoma.git'` - * You can skip systemd and nginx and all that stuff * No need to create a dedicated akkoma user, it's easier to just use your own user - * For the DB you can still choose a dedicated user, the mix tasks set it up for you so it's no extra work for you + * You can use your own fork of the repository and add akkoma as a remote `git remote add akkoma 'https://akkoma.dev/AkkomaGang/akkoma.git'` * For domain you can use `localhost` + * For the DB you can still choose a dedicated user. The mix tasks sets it up, so it's no extra work for you * instead of creating a `prod.secret.exs`, create `dev.secret.exs` * No need to prefix with `MIX_ENV=prod`. We're using dev and that's the default MIX_ENV + * You can skip nginx and systemd + * For front-end, you'll probably want to install and use the develop branch instead of the stable branch. There's no guarantee that the stable branch of the FE will always work on the develop branch of the BE. 2. Change the dev.secret.exs + * Change the FE settings to use the installed branch (see also [Frontend Management](/configuration/frontend_management/)) * Change the scheme in `config :pleroma, Pleroma.Web.Endpoint` to http (see examples below) * If you want to change other settings, you can do that too -3. You can now start the server `mix phx.server`. Once it's build and started, you can access the instance on `http://:` (e.g.http://localhost:4000 ) and should be able to do everything locally you normaly can. +3. You can now start the server with `mix phx.server`. Once it's build and started, you can access the instance on `http://:` (e.g.http://localhost:4000 ) and should be able to do everything locally you normally can. + +Example on how to install pleroma-fe and admin-fe using it's develop branch +```sh +mix pleroma.frontend install pleroma-fe --ref develop +mix pleroma.frontend install admin-fe --ref develop +``` + +Example config to use the pleroma-fe and admin-fe installed from the develop branch +```elixir +config :pleroma, :frontends, + primary: %{"name" => "pleroma-fe", "ref" => "develop"}, + admin: %{"name" => "admin-fe", "ref" => "develop"} +``` Example config to change the scheme to http. Change the port if you want to run on another port. ```elixir - config :pleroma, Pleroma.Web.Endpoint, - url: [host: "localhost", scheme: "http", port: 4000], +config :pleroma, Pleroma.Web.Endpoint, + url: [host: "localhost", scheme: "http", port: 4000], ``` Example config to disable captcha. This makes it a bit easier to create test-users. @@ -94,4 +109,4 @@ Update Akkoma as explained in [the docs](../administration/updating.md). Just ma ## Working on multiple branches -If you develop on a separate branch, it's possible you did migrations that aren't merged into another branch you're working on. If you have multiple things you're working on, it's probably best to set up multiple Akkoma instances each with their own database. If you finished with a branch and want to switch back to develop to start a new branch from there, you can drop the database and recreate the database (e.g. by using `config/setup_db.psql`). The commands to drop and recreate the database can be found in [the docs](../administration/backup.md). +If you develop on a separate branch, it's possible you did migrations that aren't merged into another branch you're working on. In that case, it's probably best to set up multiple Akkoma instances each with their own database. If you finished with a branch and want to switch back to develop to start a new branch from there, you can drop the database and recreate the database (e.g. by using `config/setup_db.psql`). The commands to drop and recreate the database can be found in [the docs](../administration/backup.md). diff --git a/docs/docs/index.md b/docs/docs/index.md index 241f790dc..8608f8196 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -3,7 +3,7 @@ # Introduction to Akkoma ## What is Akkoma? Akkoma is a federated social networking platform, compatible with Mastodon and other ActivityPub implementations. It is free software licensed under the AGPLv3. -It actually consists of two components: a backend, named simply Akkoma, and a user-facing frontend, named Pleroma-FE. It also includes the Mastodon frontend, if that's your thing. +It actually consists of two components: a backend, named simply Akkoma, and a user-facing frontend, named Akkoma-FE. It also includes the Mastodon frontend, if that's your thing. It's part of what we call the fediverse, a federated network of instances which speak common protocols and can communicate with each other. One account on an instance is enough to talk to the entire fediverse! @@ -31,11 +31,11 @@ Installation instructions can be found in the installation section of these docs ## I got an account, now what? Great! Now you can explore the fediverse! Open the login page for your Akkoma instance (e.g. ) and login with your username and password. (If you don't have an account yet, click on Register) -### Pleroma-FE -The default front-end used by Akkoma is Pleroma-FE. You can find more information on what it is and how to use it in the [Introduction to Pleroma-FE](https://docs-fe.akkoma.dev/stable/). +### Akkoma-FE +The default front-end used by Akkoma is Akkoma-FE. You can find more information on what it is and how to use it in the [Introduction to Akkoma-FE](https://docs-fe.akkoma.dev/stable/). ### Mastodon interface -If the Pleroma-FE interface isn't your thing, or you're just trying something new but you want to keep using the familiar Mastodon interface, we got that too! +If the Akkoma-FE interface isn't your thing, or you're just trying something new but you want to keep using the familiar Mastodon interface, we got that too! Just add a "/web" after your instance url (e.g. ) and you'll end on the Mastodon web interface, but with a Akkoma backend! MAGIC! The Mastodon interface is from the Glitch-soc fork. For more information on the Mastodon interface you can check the [Mastodon](https://docs.joinmastodon.org/) and [Glitch-soc](https://glitch-soc.github.io/docs/) documentation. diff --git a/docs/docs/installation/debian_based_en.md b/docs/docs/installation/debian_based_en.md index 265658fef..6bedf0384 100644 --- a/docs/docs/installation/debian_based_en.md +++ b/docs/docs/installation/debian_based_en.md @@ -23,23 +23,7 @@ sudo apt full-upgrade sudo apt install git build-essential postgresql postgresql-contrib cmake libmagic-dev ``` -### Install Elixir and Erlang - -* Install Elixir and Erlang (you might need to use backports or [asdf](https://github.com/asdf-vm/asdf) on old systems): - -```shell -sudo apt update -sudo apt install elixir erlang-dev erlang-nox -``` - - -### Optional packages: [`docs/installation/optional/media_graphics_packages.md`](../installation/optional/media_graphics_packages.md) - -```shell -sudo apt install imagemagick ffmpeg libimage-exiftool-perl -``` - -### Install AkkomaBE +### Create the akkoma user * Add a new system user for the Akkoma service: @@ -49,7 +33,67 @@ sudo useradd -r -s /bin/false -m -d /var/lib/akkoma -U akkoma **Note**: To execute a single command as the Akkoma system user, use `sudo -Hu akkoma command`. You can also switch to a shell by using `sudo -Hu akkoma $SHELL`. If you don’t have and want `sudo` on your system, you can use `su` as root user (UID 0) for a single command by using `su -l akkoma -s $SHELL -c 'command'` and `su -l akkoma -s $SHELL` for starting a shell. -* Git clone the AkkomaBE repository from stable-branch and make the Akkoma user the owner of the directory: +### Install Elixir and Erlang + +If your distribution packages a recent enough version of Elixir, you can install it directly from the distro repositories and skip to the next section of the guide: + +```shell +sudo apt install elixir erlang-dev erlang-nox +``` + +Otherwise use [asdf](https://github.com/asdf-vm/asdf) to install the latest versions of Elixir and Erlang. + +First, install some dependencies needed to build Elixir and Erlang: +```shell +sudo apt install curl unzip build-essential autoconf m4 libncurses5-dev libssh-dev unixodbc-dev xsltproc libxml2-utils libncurses-dev +``` + +Then login to the `akkoma` user and install asdf: +```shell +git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3 +``` + +Add the following lines to `~/.bashrc`: +```shell +. "$HOME/.asdf/asdf.sh" +# asdf completions +. "$HOME/.asdf/completions/asdf.bash" +``` + +Restart the shell: +```shell +exec $SHELL +``` + +Next install Erlang: +```shell +asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git +export KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac" +asdf install erlang 25.3.2.1 +asdf global erlang 25.3.2.1 +``` + +Now install Elixir: +```shell +asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git +asdf install elixir 1.14.5-otp-25 +asdf global elixir 1.14.5-otp-25 +``` + +Confirm that Elixir is installed correctly by checking the version: +```shell +elixir --version +``` + +### Optional packages: [`docs/installation/optional/media_graphics_packages.md`](../installation/optional/media_graphics_packages.md) + +```shell +sudo apt install imagemagick ffmpeg libimage-exiftool-perl +``` + +### Install AkkomaBE + +* Log into the `akkoma` user and clone the AkkomaBE repository from the stable branch and make the Akkoma user the owner of the directory: ```shell sudo mkdir -p /opt/akkoma diff --git a/docs/docs/installation/docker_en.md b/docs/docs/installation/docker_en.md index 2a3b3d161..52c056173 100644 --- a/docs/docs/installation/docker_en.md +++ b/docs/docs/installation/docker_en.md @@ -10,7 +10,7 @@ If you want to migrate from or OTP to docker, check out [the migration guide](./ ### Prepare the system -* Install docker and docker-compose +* Install docker and docker compose * [Docker](https://docs.docker.com/engine/install/) * [Docker-compose](https://docs.docker.com/compose/install/) * This will usually just be a repository installation and a package manager invocation. @@ -26,7 +26,7 @@ echo "DOCKER_USER=$(id -u):$(id -g)" >> .env ``` This probably won't need to be changed, it's only there to set basic environment -variables for the docker-compose file. +variables for the docker compose file. ### Building the container @@ -65,9 +65,9 @@ cp config/generated_config.exs config/prod.secret.exs We need to run a few commands on the database container, this isn't too bad ```bash -docker-compose run --rm --user akkoma -d db +docker compose run --rm --user akkoma -d db # Note down the name it gives here, it will be something like akkoma_db_run -docker-compose run --rm akkoma psql -h db -U akkoma -f config/setup_db.psql +docker compose run --rm akkoma psql -h db -U akkoma -f config/setup_db.psql docker stop akkoma_db_run # Replace with the name you noted down ``` @@ -84,17 +84,17 @@ We're going to run it in the foreground on the first run, just to make sure everything start up. ```bash -docker-compose up +docker compose up ``` If everything went well, you should be able to access your instance at http://localhost:4000 -You can `ctrl-c` out of the docker-compose now to shutdown the server. +You can `ctrl-c` out of the docker compose now to shutdown the server. ### Running in the background ```bash -docker-compose up -d +docker compose up -d ``` ### Create your first user @@ -125,8 +125,8 @@ cp docker-resources/Caddyfile.example docker-resources/Caddyfile Then edit the TLD in your caddyfile to the domain you're serving on. -Uncomment the `caddy` section in the docker-compose file, -then run `docker-compose up -d` again. +Uncomment the `caddy` section in the docker compose file, +then run `docker compose up -d` again. #### Running a reverse proxy on the host @@ -152,7 +152,7 @@ git pull ./docker-resources/manage.sh mix deps.get ./docker-resources/manage.sh mix compile ./docker-resources/manage.sh mix ecto.migrate -docker-compose restart akkoma db +docker compose restart akkoma db ``` #### Further reading diff --git a/docs/docs/installation/generic_dependencies.include b/docs/docs/installation/generic_dependencies.include index 68c61129a..d8cf9f9da 100644 --- a/docs/docs/installation/generic_dependencies.include +++ b/docs/docs/installation/generic_dependencies.include @@ -1,8 +1,8 @@ ## Required dependencies * PostgreSQL 9.6+ -* Elixir 1.12+ (1.13+ recommended) -* Erlang OTP 22.2+ +* Elixir 1.14+ +* Erlang OTP 24+ * git * file / libmagic * gcc (clang might also work) diff --git a/docs/docs/installation/migrating_to_akkoma.md b/docs/docs/installation/migrating_to_akkoma.md index 2df7bfad0..4a58e836e 100644 --- a/docs/docs/installation/migrating_to_akkoma.md +++ b/docs/docs/installation/migrating_to_akkoma.md @@ -117,4 +117,16 @@ To fix this, run: mix pleroma.config delete pleroma frontends ``` -which will remove the config from the database. Things should work now. \ No newline at end of file +which will remove the config from the database. Things should work now. + +## Migrating back to Pleroma + +Akkoma is a hard fork of Pleroma. As such, migrating back is not guaranteed to always work. But if you want to migrate back to Pleroma, you can always try. Just note that you may run into unexpected issues and you're basically on your own. The following are some tips that may help, but note that these are barely tested, so proceed at your own risk. + +First you will need to roll back the database migrations. The latest migration both Akkoma and Pleroma still have in common should be 20210416051708, so roll back to that. If you run from source, that should be + +```sh +MIX_ENV=prod mix ecto.rollback --to 20210416051708 +``` + +Then switch back to Pleroma for updates (similar to how was done to migrate to Akkoma), and remove the front-ends. The front-ends are installed in the `frontends` folder in the [static directory](../configuration/static_dir.md). Once you are back to Pleroma, you will need to run the database migrations again. See the Pleroma documentation for this. diff --git a/docs/docs/installation/migrating_to_docker_en.md b/docs/docs/installation/migrating_to_docker_en.md index 945f43090..6a67f1eee 100644 --- a/docs/docs/installation/migrating_to_docker_en.md +++ b/docs/docs/installation/migrating_to_docker_en.md @@ -10,7 +10,7 @@ You probably should, in the first instance. ### Prepare the system -* Install docker and docker-compose +* Install docker and docker compose * [Docker](https://docs.docker.com/engine/install/) * [Docker-compose](https://docs.docker.com/compose/install/) * This will usually just be a repository installation and a package manager invocation. @@ -46,7 +46,7 @@ For *most* from-source installs it'll already be there. And the same with `uploads`, make sure your uploads (if you have them on disk) are located at `uploads/` in the akkoma source directory. -If you have them on a different disk, you will need to mount that disk into the docker-compose file, +If you have them on a different disk, you will need to mount that disk into the docker compose file, with an entry that looks like this: ```yaml @@ -66,7 +66,7 @@ echo "DOCKER_USER=$(id -u):$(id -g)" >> .env ``` This probably won't need to be changed, it's only there to set basic environment -variables for the docker-compose file. +variables for the docker compose file. === "From source" @@ -126,21 +126,21 @@ mkdir pgdata Now we can import our database to the container. ```bash -docker-compose run --rm --user akkoma -d db -docker-compose run --rm akkoma pg_restore -v -U akkoma -j $(grep -c ^processor /proc/cpuinfo) -d akkoma -h db akkoma_backup.sql +docker compose run --rm --user akkoma -d db +docker compose run --rm akkoma pg_restore -v -U akkoma -j $(grep -c ^processor /proc/cpuinfo) -d akkoma -h db akkoma_backup.sql ``` ### Reverse proxies If you're just reusing your old proxy, you may have to uncomment the line in -the docker-compose file under `ports`. You'll find it. +the docker compose file under `ports`. You'll find it. Otherwise, you can use the same setup as the [docker installation guide](./docker_en.md#reverse-proxies). ### Let's go ```bash -docker-compose up -d +docker compose up -d ``` You should now be at the same point as you were before, but with a docker install. diff --git a/docs/docs/installation/optional/media_graphics_packages.md b/docs/docs/installation/optional/media_graphics_packages.md index cb3d71188..ab9f958f9 100644 --- a/docs/docs/installation/optional/media_graphics_packages.md +++ b/docs/docs/installation/optional/media_graphics_packages.md @@ -1,19 +1,19 @@ # Optional software packages needed for specific functionality -For specific Pleroma functionality (which is disabled by default) some or all of the below packages are required: - * `ImageMagic` +For specific Akkoma functionality (which is disabled by default) some or all of the below packages are required: + * `ImageMagick` * `ffmpeg` * `exiftool` Please refer to documentation in `docs/installation` on how to install them on specific OS. -Note: the packages are not required with the current default settings of Pleroma. +Note: the packages are not required with the current default settings of Akkoma. ## `ImageMagick` `ImageMagick` is a set of tools to create, edit, compose, or convert bitmap images. -It is required for the following Pleroma features: +It is required for the following Akkoma features: * `Pleroma.Upload.Filters.Mogrify`, `Pleroma.Upload.Filters.Mogrifun` upload filters (related config: `Plaroma.Upload/filters` in `config/config.exs`) * Media preview proxy for still images (related config: `media_preview_proxy/enabled` in `config/config.exs`) @@ -21,12 +21,12 @@ It is required for the following Pleroma features: `ffmpeg` is software to record, convert and stream audio and video. -It is required for the following Pleroma features: +It is required for the following Akkoma features: * Media preview proxy for videos (related config: `media_preview_proxy/enabled` in `config/config.exs`) ## `exiftool` `exiftool` is media files metadata reader/writer. -It is required for the following Pleroma features: +It is required for the following Akkoma features: * `Pleroma.Upload.Filters.Exiftool` upload filter (related config: `Plaroma.Upload/filters` in `config/config.exs`) diff --git a/docs/docs/installation/otp_en.md b/docs/docs/installation/otp_en.md index 058040e19..9de4e4824 100644 --- a/docs/docs/installation/otp_en.md +++ b/docs/docs/installation/otp_en.md @@ -19,12 +19,16 @@ This is a little more complex than it used to be (thanks ubuntu) Use the following mapping to figure out your flavour: -| distribution | flavour | available branches | -| ------------- | ------------------ | ------------------- | -| debian stable | amd64 | develop, stable | -| ubuntu focal | amd64 | develop, stable | -| ubuntu jammy | amd64-ubuntu-jammy | develop, stable | -| alpine | amd64-musl | stable | +| distribution | architecture | flavour | available branches | +| --------------- | ------------------ | ------------------- | ------------------- | +| debian bullseye | amd64 | amd64 | develop, stable | +| debian bullseye | arm64 | arm64 | stable | +| ubuntu focal | amd64 | amd64 | develop, stable | +| ubuntu focal | arm64 | arm64 | stable | +| ubuntu jammy | amd64 | amd64-ubuntu-jammy | develop, stable | +| ubuntu jammy | arm64 | arm64-ubuntu-jammy | develop, stable | +| alpine | amd64 | amd64-musl | stable | +| alpine | arm64 | arm64-musl | stable | Other similar distributions will _probably_ work, but if it is not listed above, there is no official support. diff --git a/docs/docs/installation/yunohost_en.md b/docs/docs/installation/yunohost_en.md new file mode 100644 index 000000000..0d3adb4fe --- /dev/null +++ b/docs/docs/installation/yunohost_en.md @@ -0,0 +1,9 @@ +# Installing on Yunohost + +[YunoHost](https://yunohost.org) is a server operating system aimed at self-hosting. The YunoHost community maintains a package of Akkoma which allows you to install Akkoma on YunoHost. You can install it via the normal way through the admin web interface, or through the CLI. More information can be found at [the repo of the package](https://github.com/YunoHost-Apps/akkoma_ynh). + +## Questions + +Questions and problems related to the YunoHost parts can be done through the [YunoHost channels](https://yunohost.org/en/help). + +For questions about Akkoma, check out the [Akkoma community channels](../../#community-channels). diff --git a/docs/theme/partials/source.html b/docs/theme/partials/source.html index 3ed0fff24..3b10223b1 100644 --- a/docs/theme/partials/source.html +++ b/docs/theme/partials/source.html @@ -38,11 +38,11 @@ {% endif %} {% if page and page.url.startswith('backend') %} - {% set repo_url = "https://git.pleroma.social/pleroma/pleroma" %} - {% set repo_name = "pleroma/pleroma" %} + {% set repo_url = "https://akkoma.dev/AkkomaGang/akkoma" %} + {% set repo_name = "AkkomaGang/akkoma" %} {% elif page and page.url.startswith('frontend') %} - {% set repo_url = "https://git.pleroma.social/pleroma/pleroma-fe" %} - {% set repo_name = "pleroma/pleroma-fe" %} + {% set repo_url = "https://akkoma.dev/AkkomaGang/akkoma-fe" %} + {% set repo_name = "AkkomaGang/akkoma-fe" %} {% else %} {% set repo_url = config.repo_url %} {% set repo_name = config.repo_name %} diff --git a/elixir_buildpack.config b/elixir_buildpack.config index 946408c12..ee9e051a6 100644 --- a/elixir_buildpack.config +++ b/elixir_buildpack.config @@ -1,2 +1,2 @@ -elixir_version=1.9.4 -erlang_version=22.3.4.1 +elixir_version=1.14.3 +erlang_version=25.3 diff --git a/installation/akkoma.service b/installation/akkoma.service index 3d7c062ff..717693495 100644 --- a/installation/akkoma.service +++ b/installation/akkoma.service @@ -7,7 +7,9 @@ ExecReload=/bin/kill $MAINPID Restart=on-failure ; Uncomment this if you're on Arch Linux -; Evironment="PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" +; Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" +; Uncomment if using asdf to manage Elixir and Erlang +; Environment="PATH=/var/lib/akkoma/.asdf/shims:/var/lib/akkoma/.asdf/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ; Name of the user that runs the Akkoma service. User=akkoma @@ -24,6 +26,8 @@ Environment="HOME=/var/lib/akkoma" WorkingDirectory=/opt/akkoma ; Path to the Mix binary. ExecStart=/usr/bin/mix phx.server +; If using asdf comment the above line and uncomment the one below instead +; ExecStart=/var/lib/akkoma/.asdf/shims/mix phx.server ; Some security directives. ; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops. @@ -34,6 +38,8 @@ ProtectHome=true ProtectSystem=full ; Sets up a new /dev mount for the process and only adds API pseudo devices like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled by default because it may not work on devices like the Raspberry Pi. PrivateDevices=false +; Ensures that the service process and all its children can never gain new privileges through execve(). +NoNewPrivileges=true ; Drops the sysadmin capability from the daemon. CapabilityBoundingSet=~CAP_SYS_ADMIN diff --git a/installation/caddy/Caddyfile b/installation/caddy/Caddyfile index 5cc75a1fc..d50848207 100644 --- a/installation/caddy/Caddyfile +++ b/installation/caddy/Caddyfile @@ -4,6 +4,9 @@ # 1. Replace 'example.tld' with your instance's domain wherever it appears. # 2. Copy this section into your Caddyfile and restart Caddy. +# If you are able to, it's highly recommended to have your media served via a separate subdomain for improved security. +# Uncomment the relevant sectons here and modify the base_url setting for Pleroma.Upload and :media_proxy accordingly. + example.tld { log { output file /var/log/caddy/akkoma.log @@ -14,4 +17,21 @@ example.tld { # this is explicitly IPv4 since Pleroma.Web.Endpoint binds on IPv4 only # and `localhost.` resolves to [::0] on some systems: see issue #930 reverse_proxy 127.0.0.1:4000 + + # Uncomment if using a separate media subdomain + #@mediaproxy path /media/* /proxy/* + #handle @mediaproxy { + # redir https://media.example.tld{uri} permanent + #} } + +# Uncomment if using a separate media subdomain +#media.example.tld { +# @mediaproxy path /media/* /proxy/* +# reverse_proxy @mediaproxy 127.0.0.1:4000 { +# transport http { +# response_header_timeout 10s +# read_timeout 15s +# } +# } +#} diff --git a/installation/init.d/akkoma b/installation/init.d/akkoma index 6c1973db4..bd17516f2 100755 --- a/installation/init.d/akkoma +++ b/installation/init.d/akkoma @@ -8,6 +8,7 @@ pidfile="/var/run/akkoma.pid" directory=/opt/akkoma healthcheck_delay=60 healthcheck_timer=30 +no_new_privs="yes" : ${akkoma_port:-4000} diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex index be59e2271..55d1c8ddc 100644 --- a/lib/mix/tasks/pleroma/database.ex +++ b/lib/mix/tasks/pleroma/database.ex @@ -69,7 +69,8 @@ def run(["prune_objects" | args]) do strict: [ vacuum: :boolean, keep_threads: :boolean, - keep_non_public: :boolean + keep_non_public: :boolean, + prune_orphaned_activities: :boolean ] ) @@ -94,6 +95,21 @@ def run(["prune_objects" | args]) do log_message end + log_message = + if Keyword.get(options, :prune_orphaned_activities) do + log_message <> ", pruning orphaned activities" + else + log_message + end + + log_message = + if Keyword.get(options, :vacuum) do + log_message <> + ", doing a full vacuum (you shouldn't do this as a recurring maintanance task)" + else + log_message + end + Logger.info(log_message) if Keyword.get(options, :keep_threads) do @@ -155,14 +171,64 @@ def run(["prune_objects" | args]) do end |> Repo.delete_all(timeout: :infinity) - prune_hashtags_query = """ + if !Keyword.get(options, :keep_threads) do + # Without the --keep-threads option, it's possible that bookmarked + # objects have been deleted. We remove the corresponding bookmarks. + """ + delete from public.bookmarks + where id in ( + select b.id from public.bookmarks b + left join public.activities a on b.activity_id = a.id + left join public.objects o on a."data" ->> 'object' = o.data ->> 'id' + where o.id is null + ) + """ + |> Repo.query([], timeout: :infinity) + end + + if Keyword.get(options, :prune_orphaned_activities) do + # Prune activities who link to a single object + """ + delete from public.activities + where id in ( + select a.id from public.activities a + left join public.objects o on a.data ->> 'object' = o.data ->> 'id' + left join public.activities a2 on a.data ->> 'object' = a2.data ->> 'id' + left join public.users u on a.data ->> 'object' = u.ap_id + where not a.local + and jsonb_typeof(a."data" -> 'object') = 'string' + and o.id is null + and a2.id is null + and u.id is null + ) + """ + |> Repo.query([], timeout: :infinity) + + # Prune activities who link to an array of objects + """ + delete from public.activities + where id in ( + select a.id from public.activities a + join json_array_elements_text((a."data" -> 'object')::json) as j on jsonb_typeof(a."data" -> 'object') = 'array' + left join public.objects o on j.value = o.data ->> 'id' + left join public.activities a2 on j.value = a2.data ->> 'id' + left join public.users u on j.value = u.ap_id + group by a.id + having max(o.data ->> 'id') is null + and max(a2.data ->> 'id') is null + and max(u.ap_id) is null + ) + """ + |> Repo.query([], timeout: :infinity) + end + + """ DELETE FROM hashtags AS ht WHERE NOT EXISTS ( SELECT 1 FROM hashtags_objects hto WHERE ht.id = hto.hashtag_id) """ - - Repo.query(prune_hashtags_query) + |> Repo.query() if Keyword.get(options, :vacuum) do Maintenance.vacuum("full") diff --git a/lib/mix/tasks/pleroma/diagnostics.ex b/lib/mix/tasks/pleroma/diagnostics.ex index 3914540ca..87be38b78 100644 --- a/lib/mix/tasks/pleroma/diagnostics.ex +++ b/lib/mix/tasks/pleroma/diagnostics.ex @@ -82,4 +82,46 @@ def run(["user_timeline", nickname, reading_nickname]) do Ecto.Adapters.SQL.explain(Repo, :all, query, analyze: true, timeout: :infinity) |> IO.puts() end + + def run(["notifications", nickname]) do + start_pleroma() + user = Repo.get_by!(User, nickname: nickname) + account_ap_id = user.ap_id + options = %{account_ap_id: user.ap_id} + + query = + user + |> Pleroma.Notification.for_user_query(options) + |> where([n, a], a.actor == ^account_ap_id) + |> limit(20) + + Ecto.Adapters.SQL.explain(Repo, :all, query, analyze: true, timeout: :infinity) + |> IO.puts() + end + + def run(["known_network", nickname]) do + start_pleroma() + user = Repo.get_by!(User, nickname: nickname) + + params = + %{} + |> Map.put(:type, ["Create"]) + |> Map.put(:local_only, false) + |> Map.put(:blocking_user, user) + |> Map.put(:muting_user, user) + |> Map.put(:reply_filtering_user, user) + # Restricts unfederated content to authenticated users + |> Map.put(:includes_local_public, not is_nil(user)) + |> Map.put(:restrict_unlisted, true) + + query = + Pleroma.Web.ActivityPub.ActivityPub.fetch_activities_query( + [Pleroma.Constants.as_public()], + params + ) + |> limit(20) + + Ecto.Adapters.SQL.explain(Repo, :all, query, analyze: true, timeout: :infinity) + |> IO.puts() + end end diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex index c5b514742..c94667fb9 100644 --- a/lib/pleroma/activity.ex +++ b/lib/pleroma/activity.ex @@ -277,6 +277,13 @@ def get_create_by_object_ap_id_with_object(ap_id) when is_binary(ap_id) do def get_create_by_object_ap_id_with_object(_), do: nil + def get_local_create_by_object_ap_id(ap_id) when is_binary(ap_id) do + ap_id + |> create_by_object_ap_id() + |> where(local: true) + |> Repo.one() + end + @spec create_by_id_with_object(String.t()) :: t() | nil def create_by_id_with_object(id) do get_by_id_with_opts(id, preload: [:object], filter: [type: "Create"]) diff --git a/lib/pleroma/activity/ir/topics.ex b/lib/pleroma/activity/ir/topics.ex index 7a603a615..bdbf4a285 100644 --- a/lib/pleroma/activity/ir/topics.ex +++ b/lib/pleroma/activity/ir/topics.ex @@ -21,7 +21,7 @@ defp generate_topics(object, activity) do ["user", "list"] ++ visibility_tags(object, activity) end - defp visibility_tags(object, activity) do + defp visibility_tags(object, %{data: %{"type" => type}} = activity) when type != "Announce" do case Visibility.get_visibility(activity) do "public" -> if activity.local do @@ -31,6 +31,10 @@ defp visibility_tags(object, activity) do end |> item_creation_tags(object, activity) + "local" -> + ["public:local"] + |> item_creation_tags(object, activity) + "direct" -> ["direct"] @@ -39,6 +43,10 @@ defp visibility_tags(object, activity) do end end + defp visibility_tags(_object, _activity) do + [] + end + defp item_creation_tags(tags, object, %{data: %{"type" => "Create"}} = activity) do tags ++ remote_topics(activity) ++ hashtags_to_topics(object) ++ attachment_topics(object, activity) @@ -63,7 +71,18 @@ defp remote_topics(_), do: [] defp attachment_topics(%{data: %{"attachment" => []}}, _act), do: [] - defp attachment_topics(_object, %{local: true}), do: ["public:media", "public:local:media"] + defp attachment_topics(_object, %{local: true} = activity) do + case Visibility.get_visibility(activity) do + "public" -> + ["public:media", "public:local:media"] + + "local" -> + ["public:local:media"] + + _ -> + [] + end + end defp attachment_topics(_object, %{actor: actor}) when is_binary(actor), do: ["public:media", "public:remote:media:" <> URI.parse(actor).host] diff --git a/lib/pleroma/akkoma/translators/libre_translate.ex b/lib/pleroma/akkoma/translators/libre_translate.ex index 3a8d9d827..80956ab66 100644 --- a/lib/pleroma/akkoma/translators/libre_translate.ex +++ b/lib/pleroma/akkoma/translators/libre_translate.ex @@ -40,7 +40,7 @@ def translate(string, from_language, to_language) do if Map.has_key?(body, "detectedLanguage") do get_in(body, ["detectedLanguage", "language"]) else - from_language + from_language || "" end {:ok, detected, translated} diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex index 0273972be..67444ccd8 100644 --- a/lib/pleroma/application.ex +++ b/lib/pleroma/application.ex @@ -262,11 +262,14 @@ defp http_children do proxy = Pleroma.HTTP.AdapterHelper.format_proxy(proxy_url) pool_size = Config.get([:http, :pool_size]) + :public_key.cacerts_load() + config = [:http, :adapter] |> Config.get([]) |> Pleroma.HTTP.AdapterHelper.add_pool_size(pool_size) |> Pleroma.HTTP.AdapterHelper.maybe_add_proxy_pool(proxy) + |> Pleroma.HTTP.AdapterHelper.maybe_add_cacerts(:public_key.cacerts_get()) |> Keyword.put(:name, MyFinch) [{Finch, config}] diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex index 7343ef8c3..94608a99b 100644 --- a/lib/pleroma/constants.ex +++ b/lib/pleroma/constants.ex @@ -25,7 +25,7 @@ defmodule Pleroma.Constants do const(static_only_files, do: - ~w(index.html robots.txt static static-fe finmoji emoji packs sounds images instance sw.js sw-pleroma.js favicon.png schemas doc embed.js embed.css) + ~w(index.html robots.txt static static-fe finmoji emoji packs sounds images instance embed sw.js sw-pleroma.js favicon.png schemas doc) ) const(status_updatable_fields, @@ -38,7 +38,8 @@ defmodule Pleroma.Constants do "summary", "sensitive", "attachment", - "generator" + "generator", + "contentMap" ] ) diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex index dbe9abe8d..933f4275a 100644 --- a/lib/pleroma/emoji.ex +++ b/lib/pleroma/emoji.ex @@ -21,6 +21,7 @@ defmodule Pleroma.Emoji do :named_table, {:read_concurrency, true} ] + @emoji_regex ~r/:[A-Za-z0-9_-]+(@.+)?:/ defstruct [:code, :file, :tags, :safe_code, :safe_file] @@ -205,4 +206,7 @@ def fully_qualify_emoji(unquote(unqualified)), do: unquote(qualified) end def fully_qualify_emoji(emoji), do: emoji + + def matches_shortcode?(nil), do: false + def matches_shortcode?(s), do: Regex.match?(@emoji_regex, s) end diff --git a/lib/pleroma/following_relationship.ex b/lib/pleroma/following_relationship.ex index c489ccbbe..9e75458e5 100644 --- a/lib/pleroma/following_relationship.ex +++ b/lib/pleroma/following_relationship.ex @@ -155,14 +155,13 @@ def following_count(%User{} = user) do |> Repo.aggregate(:count, :id) end - def get_follow_requests(%User{id: id}) do + def get_follow_requests_query(%User{id: id}) do __MODULE__ - |> join(:inner, [r], f in assoc(r, :follower)) + |> join(:inner, [r], f in assoc(r, :follower), as: :follower) |> where([r], r.state == ^:follow_pending) |> where([r], r.following_id == ^id) - |> where([r, f], f.is_active == true) - |> select([r, f], f) - |> Repo.all() + |> where([r, follower: f], f.is_active == true) + |> select([r, follower: f], f) end def following?(%User{id: follower_id}, %User{id: followed_id}) do diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index 575bf9b2d..fc841a550 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -124,8 +124,8 @@ def mentions_escape(text, options \\ []) do end end - def markdown_to_html(text) do - Earmark.as_html!(text, %Earmark.Options{compact_output: true}) + def markdown_to_html(text, opts \\ %{}) do + Earmark.as_html!(text, %Earmark.Options{compact_output: true} |> Map.merge(opts)) end def html_escape({text, mentions, hashtags}, type) do diff --git a/lib/pleroma/http/adapter_helper.ex b/lib/pleroma/http/adapter_helper.ex index e5da3ffa8..5bfb09f0f 100644 --- a/lib/pleroma/http/adapter_helper.ex +++ b/lib/pleroma/http/adapter_helper.ex @@ -47,6 +47,17 @@ def maybe_add_proxy_pool(opts, proxy) do |> put_in([:pools, :default, :conn_opts, :proxy], proxy) end + def maybe_add_cacerts(opts, nil), do: opts + + def maybe_add_cacerts(opts, cacerts) do + opts + |> maybe_add_pools() + |> maybe_add_default_pool() + |> maybe_add_conn_opts() + |> maybe_add_transport_opts() + |> put_in([:pools, :default, :conn_opts, :transport_opts, :cacerts], cacerts) + end + def add_pool_size(opts, pool_size) do opts |> maybe_add_pools() @@ -82,6 +93,16 @@ defp maybe_add_conn_opts(opts) do end end + defp maybe_add_transport_opts(opts) do + transport_opts = get_in(opts, [:pools, :default, :conn_opts, :transport_opts]) + + unless is_nil(transport_opts) do + opts + else + put_in(opts, [:pools, :default, :conn_opts, :transport_opts], []) + end + end + @doc """ Merge default connection & adapter options with received ones. """ diff --git a/lib/pleroma/instances/instance.ex b/lib/pleroma/instances/instance.ex index 6ddfa5042..5c70748b6 100644 --- a/lib/pleroma/instances/instance.ex +++ b/lib/pleroma/instances/instance.ex @@ -162,7 +162,7 @@ def local do %Instance{ host: Pleroma.Web.Endpoint.host(), favicon: Pleroma.Web.Endpoint.url() <> "/favicon.png", - nodeinfo: Pleroma.Web.Nodeinfo.NodeinfoController.raw_nodeinfo() + nodeinfo: Pleroma.Web.Nodeinfo.Nodeinfo.get_nodeinfo("2.1") } end diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex index 3995be01f..885d61233 100644 --- a/lib/pleroma/notification.ex +++ b/lib/pleroma/notification.ex @@ -195,6 +195,7 @@ defp exclude_filtered(query, user) do from([_n, a, o] in query, where: fragment("not(?->>'content' ~* ?)", o.data, ^regex) or + fragment("?->>'content' is null", o.data) or fragment("?->>'actor' = ?", o.data, ^user.ap_id) ) end @@ -695,7 +696,7 @@ def skip?( cond do opts[:type] == "poll" -> false user.ap_id == actor -> false - !User.following?(follower, user) -> true + !User.following?(user, follower) -> true true -> false end end diff --git a/lib/pleroma/reverse_proxy.ex b/lib/pleroma/reverse_proxy.ex index 91cf1bba3..b44f0b90a 100644 --- a/lib/pleroma/reverse_proxy.ex +++ b/lib/pleroma/reverse_proxy.ex @@ -251,6 +251,7 @@ defp build_resp_headers(headers, opts) do |> Enum.filter(fn {k, _} -> k in @keep_resp_headers end) |> build_resp_cache_headers(opts) |> build_resp_content_disposition_header(opts) + |> build_csp_headers() |> Keyword.merge(Keyword.get(opts, :resp_headers, [])) end @@ -316,6 +317,10 @@ defp build_resp_content_disposition_header(headers, opts) do end end + defp build_csp_headers(headers) do + List.keystore(headers, "content-security-policy", 0, {"content-security-policy", "sandbox"}) + end + defp header_length_constraint(headers, limit) when is_integer(limit) and limit > 0 do with {_, size} <- List.keyfind(headers, "content-length", 0), {size, _} <- Integer.parse(size), diff --git a/lib/pleroma/signature.ex b/lib/pleroma/signature.ex index 1c59be9c7..b229e6296 100644 --- a/lib/pleroma/signature.ex +++ b/lib/pleroma/signature.ex @@ -17,6 +17,7 @@ def key_id_to_actor_id(key_id) do key_id |> URI.parse() |> Map.put(:fragment, nil) + |> Map.put(:query, nil) |> remove_suffix(@known_suffixes) maybe_ap_id = URI.to_string(uri) diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index 3b5419db7..2f65540be 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -65,15 +65,6 @@ defmodule Pleroma.Upload do } defstruct [:id, :name, :tempfile, :content_type, :width, :height, :blurhash, :path] - defp get_description(opts, upload) do - case {opts[:description], Pleroma.Config.get([Pleroma.Upload, :default_description])} do - {description, _} when is_binary(description) -> description - {_, :filename} -> upload.name - {_, str} when is_binary(str) -> str - _ -> "" - end - end - @spec store(source, options :: [option()]) :: {:ok, Map.t()} | {:error, any()} @doc "Store a file. If using a `Plug.Upload{}` as the source, be sure to use `Majic.Plug` to ensure its content_type and filename is correct." def store(upload, opts \\ []) do @@ -82,7 +73,7 @@ def store(upload, opts \\ []) do with {:ok, upload} <- prepare_upload(upload, opts), upload = %__MODULE__{upload | path: upload.path || "#{upload.id}/#{upload.name}"}, {:ok, upload} <- Pleroma.Upload.Filter.filter(opts.filters, upload), - description = get_description(opts, upload), + description = Map.get(opts, :description) || "", {_, true} <- {:description_limit, String.length(description) <= Pleroma.Config.get([:instance, :description_limit])}, diff --git a/lib/pleroma/upload/filter.ex b/lib/pleroma/upload/filter.ex index e5db2fb20..50e0f2c27 100644 --- a/lib/pleroma/upload/filter.ex +++ b/lib/pleroma/upload/filter.ex @@ -38,9 +38,9 @@ def filter([filter | rest], upload) do {:ok, :noop} -> filter(rest, upload) - error -> - Logger.error("#{__MODULE__}: Filter #{filter} failed: #{inspect(error)}") - error + {:error, e} -> + Logger.error("#{__MODULE__}: Filter #{filter} failed: #{inspect(e)}") + {:error, e} end end end diff --git a/lib/pleroma/upload/filter/only_media.ex b/lib/pleroma/upload/filter/only_media.ex new file mode 100644 index 000000000..a9caeba67 --- /dev/null +++ b/lib/pleroma/upload/filter/only_media.ex @@ -0,0 +1,20 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2023 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Upload.Filter.OnlyMedia do + @behaviour Pleroma.Upload.Filter + alias Pleroma.Upload + + def filter(%Upload{content_type: content_type}) do + [type, _subtype] = String.split(content_type, "/") + + if type in ["image", "video", "audio"] do + {:ok, :noop} + else + {:error, "Disallowed content-type: #{content_type}"} + end + end + + def filter(_), do: {:ok, :noop} +end diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 1ddbd36a8..66090b596 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -159,6 +159,11 @@ defmodule Pleroma.User do field(:language, :string) field(:status_ttl_days, :integer, default: nil) + field(:accepts_direct_messages_from, Ecto.Enum, + values: [:everybody, :people_i_follow, :nobody], + default: :everybody + ) + embeds_one( :notification_settings, Pleroma.User.NotificationSetting, @@ -273,7 +278,13 @@ def cached_muted_users_ap_ids(user) do defdelegate following(user), to: FollowingRelationship defdelegate following?(follower, followed), to: FollowingRelationship defdelegate following_ap_ids(user), to: FollowingRelationship - defdelegate get_follow_requests(user), to: FollowingRelationship + defdelegate get_follow_requests_query(user), to: FollowingRelationship + + def get_follow_requests(user) do + get_follow_requests_query(user) + |> Repo.all() + end + defdelegate search(query, opts \\ []), to: User.Search @doc """ @@ -360,21 +371,21 @@ def invisible?(%User{invisible: true}), do: true def invisible?(_), do: false def avatar_url(user, options \\ []) do - case user.avatar do - %{"url" => [%{"href" => href} | _]} -> - href - - _ -> - unless options[:no_default] do - Config.get([:assets, :default_user_avatar], "#{Endpoint.url()}/images/avi.png") - end - end + default = Config.get([:assets, :default_user_avatar], "#{Endpoint.url()}/images/avi.png") + do_optional_url(user.avatar, default, options) end def banner_url(user, options \\ []) do - case user.banner do - %{"url" => [%{"href" => href} | _]} -> href - _ -> !options[:no_default] && "#{Endpoint.url()}/images/banner.png" + do_optional_url(user.banner, "#{Endpoint.url()}/images/banner.png", options) + end + + defp do_optional_url(field, default, options) do + case field do + %{"url" => [%{"href" => href} | _]} when is_binary(href) -> + href + + _ -> + unless options[:no_default], do: default end end @@ -530,7 +541,8 @@ def update_changeset(struct, params \\ %{}) do :is_discoverable, :actor_type, :disclose_client, - :status_ttl_days + :status_ttl_days, + :accepts_direct_messages_from ] ) |> unique_constraint(:nickname) @@ -864,7 +876,7 @@ def post_register_action(%User{is_approved: true, is_confirmed: true} = user) do end end - defp send_user_approval_email(user) do + defp send_user_approval_email(%User{email: email} = user) when is_binary(email) do user |> Pleroma.Emails.UserEmail.approval_pending_email() |> Pleroma.Emails.Mailer.deliver_async() @@ -872,6 +884,10 @@ defp send_user_approval_email(user) do {:ok, :enqueued} end + defp send_user_approval_email(_user) do + {:ok, :skipped} + end + defp send_admin_approval_emails(user) do all_superusers() |> Enum.filter(fn user -> not is_nil(user.email) end) @@ -2070,10 +2086,14 @@ def parse_bio(bio, user) when is_binary(bio) and bio != "" do # TODO: get profile URLs other than user.ap_id profile_urls = [user.ap_id] - bio - |> CommonUtils.format_input("text/plain", + CommonUtils.format_input(bio, "text/plain", mentions_format: :full, - rel: &RelMe.maybe_put_rel_me(&1, profile_urls) + rel: fn link -> + case RelMe.maybe_put_rel_me(link, profile_urls) do + "me" -> "me" + _ -> nil + end + end ) |> elem(0) end @@ -2711,4 +2731,16 @@ def unfollow_hashtag(%User{} = user, %Hashtag{} = hashtag) do def following_hashtag?(%User{} = user, %Hashtag{} = hashtag) do not is_nil(HashtagFollow.get(user, hashtag)) end + + def accepts_direct_messages?( + %User{accepts_direct_messages_from: :people_i_follow} = receiver, + %User{} = sender + ) do + User.following?(receiver, sender) + end + + def accepts_direct_messages?(%User{accepts_direct_messages_from: :everybody}, _), do: true + + def accepts_direct_messages?(%User{accepts_direct_messages_from: :nobody}, _), + do: false end diff --git a/lib/pleroma/user_note.ex b/lib/pleroma/user_note.ex index 5e82d359f..ff4981cb7 100644 --- a/lib/pleroma/user_note.ex +++ b/lib/pleroma/user_note.ex @@ -31,7 +31,7 @@ def show(%User{} = source, %User{} = target) do UserNote |> where(source_id: ^source.id, target_id: ^target.id) |> Repo.one() do - note.comment + note.comment || "" else _ -> "" end diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 8e55df0d8..649bf9095 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1502,13 +1502,22 @@ def fetch_activities_bounded( @spec upload(Upload.source(), keyword()) :: {:ok, Object.t()} | {:error, any()} def upload(file, opts \\ []) do - with {:ok, data} <- Upload.store(file, opts) do + with {:ok, data} <- Upload.store(sanitize_upload_file(file), opts) do obj_data = Maps.put_if_present(data, "actor", opts[:actor]) Repo.insert(%Object{data: obj_data}) end end + defp sanitize_upload_file(%Plug.Upload{filename: filename} = upload) when is_binary(filename) do + %Plug.Upload{ + upload + | filename: Path.basename(filename) + } + end + + defp sanitize_upload_file(upload), do: upload + @spec get_actor_url(any()) :: binary() | nil defp get_actor_url(url) when is_binary(url), do: url defp get_actor_url(%{"href" => href}) when is_binary(href), do: href diff --git a/lib/pleroma/web/activity_pub/activity_pub_controller.ex b/lib/pleroma/web/activity_pub/activity_pub_controller.ex index c07f91b2e..4e6842d85 100644 --- a/lib/pleroma/web/activity_pub/activity_pub_controller.ex +++ b/lib/pleroma/web/activity_pub/activity_pub_controller.ex @@ -8,7 +8,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do alias Pleroma.Activity alias Pleroma.Delivery alias Pleroma.Object - alias Pleroma.Object.Fetcher alias Pleroma.User alias Pleroma.Web.ActivityPub.ActivityPub alias Pleroma.Web.ActivityPub.InternalFetchActor @@ -293,33 +292,12 @@ def inbox(%{assigns: %{valid_signature: false}} = conn, _params) do |> json("Invalid HTTP Signature") end - # POST /relay/inbox -or- POST /internal/fetch/inbox - def inbox(conn, %{"type" => "Create"} = params) do - if FederatingPlug.federating?() do - post_inbox_relayed_create(conn, params) - else - conn - |> put_status(:bad_request) - |> json("Not federating") - end - end - def inbox(conn, _params) do conn |> put_status(:bad_request) |> json("error, missing HTTP Signature") end - defp post_inbox_relayed_create(conn, params) do - Logger.debug( - "Signature missing or not from author, relayed Create message, fetching object from source" - ) - - Fetcher.fetch_object_from_id(params["object"]["id"]) - - json(conn, "ok") - end - defp represent_service_actor(%User{} = user, conn) do conn |> put_resp_content_type("application/activity+json") diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex index 6ecd62c99..88a58421e 100644 --- a/lib/pleroma/web/activity_pub/mrf.ex +++ b/lib/pleroma/web/activity_pub/mrf.ex @@ -147,7 +147,8 @@ def get_policies do |> Enum.concat([ Pleroma.Web.ActivityPub.MRF.HashtagPolicy, Pleroma.Web.ActivityPub.MRF.InlineQuotePolicy, - Pleroma.Web.ActivityPub.MRF.NormalizeMarkup + Pleroma.Web.ActivityPub.MRF.NormalizeMarkup, + Pleroma.Web.ActivityPub.MRF.DirectMessageDisabledPolicy ]) |> Enum.uniq() end diff --git a/lib/pleroma/web/activity_pub/mrf/direct_message_disabled_policy.ex b/lib/pleroma/web/activity_pub/mrf/direct_message_disabled_policy.ex new file mode 100644 index 000000000..7a834f6ae --- /dev/null +++ b/lib/pleroma/web/activity_pub/mrf/direct_message_disabled_policy.ex @@ -0,0 +1,65 @@ +defmodule Pleroma.Web.ActivityPub.MRF.DirectMessageDisabledPolicy do + @behaviour Pleroma.Web.ActivityPub.MRF.Policy + + alias Pleroma.User + require Pleroma.Constants + + @moduledoc """ + Removes entries from the "To" field from direct messages if the user has requested to not + allow direct messages + """ + + @impl true + def filter( + %{ + "type" => "Create", + "actor" => actor, + "object" => %{ + "type" => "Note" + } + } = activity + ) do + with recipients <- Map.get(activity, "to", []), + cc <- Map.get(activity, "cc", []), + true <- is_direct?(recipients, cc), + sender <- User.get_cached_by_ap_id(actor) do + new_to = + Enum.filter(recipients, fn recv -> + should_include?(sender, recv) + end) + + {:ok, + activity + |> Map.put("to", new_to) + |> maybe_replace_object_to(new_to)} + else + _ -> + {:ok, activity} + end + end + + @impl true + def filter(object), do: {:ok, object} + + @impl true + def describe, do: {:ok, %{}} + + defp should_include?(sender, receiver_ap_id) do + with %User{local: true} = receiver <- User.get_cached_by_ap_id(receiver_ap_id) do + User.accepts_direct_messages?(receiver, sender) + else + _ -> true + end + end + + defp maybe_replace_object_to(%{"object" => %{"to" => _}} = activity, to) do + Kernel.put_in(activity, ["object", "to"], to) + end + + defp maybe_replace_object_to(other, _), do: other + + defp is_direct?(to, cc) do + !(Enum.member?(to, Pleroma.Constants.as_public()) || + Enum.member?(cc, Pleroma.Constants.as_public())) + end +end diff --git a/lib/pleroma/web/activity_pub/mrf/reject_newly_created_account_note_policy.ex b/lib/pleroma/web/activity_pub/mrf/reject_newly_created_account_note_policy.ex new file mode 100644 index 000000000..01a846831 --- /dev/null +++ b/lib/pleroma/web/activity_pub/mrf/reject_newly_created_account_note_policy.ex @@ -0,0 +1,50 @@ +defmodule Pleroma.Web.ActivityPub.MRF.RejectNewlyCreatedAccountNotesPolicy do + @behaviour Pleroma.Web.ActivityPub.MRF.Policy + + alias Pleroma.User + + @moduledoc """ + Rejects notes from accounts that were created below a certain threshold of time ago + """ + @impl true + def filter( + %{ + "type" => type, + "actor" => actor + } = activity + ) + when type in ["Note", "Create"] do + min_age = Pleroma.Config.get([:mrf_reject_newly_created_account_notes, :age]) + + with %User{local: false} = user <- Pleroma.User.get_cached_by_ap_id(actor), + true <- Timex.diff(Timex.now(), user.inserted_at, :seconds) < min_age do + {:reject, "[RejectNewlyCreatedAccountNotesPolicy] Account created too recently"} + else + _ -> {:ok, activity} + end + end + + @impl true + def filter(object), do: {:ok, object} + + @impl true + def describe, do: {:ok, %{}} + + @impl true + def config_description do + %{ + key: :mrf_reject_newly_created_account_notes, + related_policy: "Pleroma.Web.ActivityPub.MRF.RejectNewlyCreatedAccountNotesPolicy", + label: "MRF Reject New Accounts", + description: "Reject notes from accounts created too recently", + children: [ + %{ + key: :age, + type: :integer, + description: "Time below which to reject (in seconds)", + suggestions: [86_400] + } + ] + } + end +end diff --git a/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex b/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex index 09b68c977..d4beed78d 100644 --- a/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex @@ -104,9 +104,9 @@ defp remote_mention_resolver( end end - # https://github.com/misskey-dev/misskey/pull/8787 - # Misskey has an awful tendency to drop all custom formatting when it sends remotely - # So this basically reprocesses their MFM source + # See https://akkoma.dev/FoundKeyGang/FoundKey/issues/343 + # Misskey/Foundkey drops some of the custom formatting when it sends remotely + # So this basically reprocesses the MFM source defp fix_misskey_content( %{"source" => %{"mediaType" => "text/x.misskeymarkdown", "content" => content}} = object ) @@ -121,6 +121,8 @@ defp fix_misskey_content( Map.put(object, "content", linked) end + # See https://github.com/misskey-dev/misskey/pull/8787 + # This is for compatibility with older Misskey instances defp fix_misskey_content(%{"_misskey_content" => content} = object) when is_binary(content) do mention_handler = fn nick, buffer, opts, acc -> remote_mention_resolver(object, nick, buffer, opts, acc) diff --git a/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex b/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex index 6fa2bbb99..be7df3fb0 100644 --- a/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex +++ b/lib/pleroma/web/activity_pub/object_validators/common_fixes.ex @@ -22,7 +22,10 @@ def cast_and_filter_recipients(message, field, follower_collection, field_fallba end def fix_object_defaults(data) do - context = Utils.maybe_create_context(data["context"] || data["conversation"]) + context = + Utils.maybe_create_context( + data["context"] || data["conversation"] || data["inReplyTo"] || data["id"] + ) %User{follower_address: follower_collection} = User.get_cached_by_ap_id(data["attributedTo"]) diff --git a/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex b/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex index 6109a0355..80ec65cd7 100644 --- a/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex @@ -13,7 +13,6 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.EmojiReactValidator do import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations @primary_key false - @emoji_regex ~r/:[A-Za-z0-9_-]+(@.+)?:/ embedded_schema do quote do @@ -75,9 +74,6 @@ defp fix(data) do end end - defp matches_shortcode?(nil), do: false - defp matches_shortcode?(s), do: Regex.match?(@emoji_regex, s) - defp fix_emoji_qualification(%{"content" => emoji} = data) do new_emoji = Pleroma.Emoji.fully_qualify_emoji(emoji) @@ -98,7 +94,7 @@ defp fix_emoji_qualification(data), do: data defp validate_emoji(cng) do content = get_field(cng, :content) - if Emoji.is_unicode_emoji?(content) || matches_shortcode?(content) do + if Emoji.is_unicode_emoji?(content) || Emoji.matches_shortcode?(content) do cng else cng diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex index b187d3a48..3071c1b77 100644 --- a/lib/pleroma/web/activity_pub/publisher.ex +++ b/lib/pleroma/web/activity_pub/publisher.ex @@ -108,15 +108,28 @@ defp blocked_instances do Config.get([:mrf_simple, :reject], []) end + defp allowed_instances do + Config.get([:mrf_simple, :accept]) + end + def should_federate?(url) do %{host: host} = URI.parse(url) - quarantined_instances = - blocked_instances() + with allowed <- allowed_instances(), + false <- Enum.empty?(allowed) do + allowed |> Pleroma.Web.ActivityPub.MRF.instance_list_from_tuples() |> Pleroma.Web.ActivityPub.MRF.subdomains_regex() + |> Pleroma.Web.ActivityPub.MRF.subdomain_match?(host) + else + _ -> + quarantined_instances = + blocked_instances() + |> Pleroma.Web.ActivityPub.MRF.instance_list_from_tuples() + |> Pleroma.Web.ActivityPub.MRF.subdomains_regex() - !Pleroma.Web.ActivityPub.MRF.subdomain_match?(quarantined_instances, host) + not Pleroma.Web.ActivityPub.MRF.subdomain_match?(quarantined_instances, host) + end end @spec recipients(User.t(), Activity.t()) :: list(User.t()) | [] diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 2ff0e8a74..5fb9b5d8d 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -419,28 +419,19 @@ def handle_incoming(%{"id" => id}, _options) when is_binary(id) and byte_size(id def handle_incoming( %{ "type" => "Like", - "_misskey_reaction" => reaction, - "tag" => _ + "content" => reaction } = data, options ) do - data - |> Map.put("type", "EmojiReact") - |> Map.put("content", reaction) - |> handle_incoming(options) - end - - def handle_incoming( - %{ - "type" => "Like", - "_misskey_reaction" => reaction - } = data, - options - ) do - data - |> Map.put("type", "EmojiReact") - |> Map.put("content", reaction) - |> handle_incoming(options) + if Pleroma.Emoji.is_unicode_emoji?(reaction) || Pleroma.Emoji.matches_shortcode?(reaction) do + data + |> Map.put("type", "EmojiReact") + |> handle_incoming(options) + else + data + |> Map.delete("content") + |> handle_incoming(options) + end end def handle_incoming( @@ -929,8 +920,13 @@ def add_attributed_to(object) do def prepare_attachments(object) do attachments = - object - |> Map.get("attachment", []) + case Map.get(object, "attachment", []) do + [_ | _] = list -> list + _ -> [] + end + + attachments = + attachments |> Enum.map(fn data -> [%{"mediaType" => media_type, "href" => href} = url | _] = data["url"] diff --git a/lib/pleroma/web/akkoma_api/controllers/frontend_settings_controller.ex b/lib/pleroma/web/akkoma_api/controllers/frontend_settings_controller.ex index c13ff9096..307d35643 100644 --- a/lib/pleroma/web/akkoma_api/controllers/frontend_settings_controller.ex +++ b/lib/pleroma/web/akkoma_api/controllers/frontend_settings_controller.ex @@ -5,6 +5,16 @@ defmodule Pleroma.Web.AkkomaAPI.FrontendSettingsController do alias Pleroma.Akkoma.FrontendSettingsProfile @unauthenticated_access %{fallback: :proceed_unauthenticated, scopes: []} + + plug( + OAuthScopesPlug, + @unauthenticated_access + when action in [ + :available_frontends, + :update_preferred_frontend + ] + ) + plug( OAuthScopesPlug, %{@unauthenticated_access | scopes: ["read:accounts"]} @@ -93,4 +103,22 @@ def update_profile(%{body_params: %{settings: settings, version: version}} = con |> json(profile.settings) end end + + @doc "GET /api/v1/akkoma/preferred_frontend/available" + def available_frontends(conn, _params) do + available = Pleroma.Config.get([:frontends, :pickable]) + + conn + |> json(available) + end + + @doc "PUT /api/v1/akkoma/preferred_frontend" + def update_preferred_frontend( + %{body_params: %{frontend_name: preferred_frontend}} = conn, + _params + ) do + conn + |> put_resp_cookie("preferred_frontend", preferred_frontend) + |> json(%{frontend_name: preferred_frontend}) + end end diff --git a/lib/pleroma/web/akkoma_api/controllers/frontend_switcher.ex b/lib/pleroma/web/akkoma_api/controllers/frontend_switcher.ex new file mode 100644 index 000000000..2095db4b5 --- /dev/null +++ b/lib/pleroma/web/akkoma_api/controllers/frontend_switcher.ex @@ -0,0 +1,20 @@ +defmodule Pleroma.Web.AkkomaAPI.FrontendSwitcherController do + use Pleroma.Web, :controller + alias Pleroma.Config + + @doc "GET /akkoma/frontend" + def switch(conn, _params) do + pickable = Config.get([:frontends, :pickable], []) + + conn + |> put_view(Pleroma.Web.AkkomaAPI.FrontendSwitcherView) + |> render("switch.html", choices: pickable) + end + + @doc "POST /akkoma/frontend" + def do_switch(conn, params) do + conn + |> put_resp_cookie("preferred_frontend", params["frontend"]) + |> html("") + end +end diff --git a/lib/pleroma/web/akkoma_api/views/frontend_switcher.ex b/lib/pleroma/web/akkoma_api/views/frontend_switcher.ex new file mode 100644 index 000000000..1564c9e44 --- /dev/null +++ b/lib/pleroma/web/akkoma_api/views/frontend_switcher.ex @@ -0,0 +1,3 @@ +defmodule Pleroma.Web.AkkomaAPI.FrontendSwitcherView do + use Pleroma.Web, :view +end diff --git a/lib/pleroma/web/api_spec/operations/account_operation.ex b/lib/pleroma/web/api_spec/operations/account_operation.ex index 894ad5db0..2d14316d1 100644 --- a/lib/pleroma/web/api_spec/operations/account_operation.ex +++ b/lib/pleroma/web/api_spec/operations/account_operation.ex @@ -410,7 +410,7 @@ def blocks_operation do operationId: "AccountController.blocks", description: "View your blocks. See also accounts/:id/{block,unblock}", security: [%{"oAuth" => ["read:blocks"]}], - parameters: pagination_params(), + parameters: [with_relationships_param() | pagination_params()], responses: %{ 200 => Operation.response("Accounts", "application/json", array_of_accounts()) } @@ -708,6 +708,16 @@ defp update_credentials_request do nullable: true, description: "Number of days after which statuses will be deleted. Set to -1 to disable." + }, + accepts_direct_messages_from: %Schema{ + type: :string, + enum: [ + "everybody", + "nobody", + "people_i_follow" + ], + nullable: true, + description: "Who to accept DMs from" } }, example: %{ @@ -729,7 +739,8 @@ defp update_credentials_request do also_known_as: ["https://foo.bar/users/foo"], discoverable: false, actor_type: "Person", - status_ttl_days: 30 + status_ttl_days: 30, + accepts_direct_messages_from: "everybody" } } end @@ -756,7 +767,7 @@ defp array_of_relationships do "showing_reblogs" => true, "followed_by" => true, "blocking" => false, - "blocked_by" => true, + "blocked_by" => false, "muting" => false, "muting_notifications" => false, "note" => "", @@ -772,7 +783,7 @@ defp array_of_relationships do "showing_reblogs" => true, "followed_by" => true, "blocking" => false, - "blocked_by" => true, + "blocked_by" => false, "muting" => true, "muting_notifications" => false, "note" => "", diff --git a/lib/pleroma/web/api_spec/operations/admin/status_operation.ex b/lib/pleroma/web/api_spec/operations/admin/status_operation.ex index d25ab5247..9290ab09d 100644 --- a/lib/pleroma/web/api_spec/operations/admin/status_operation.ex +++ b/lib/pleroma/web/api_spec/operations/admin/status_operation.ex @@ -143,7 +143,7 @@ def admin_account do } }, tags: %Schema{type: :string}, - is_confirmed: %Schema{type: :string} + is_confirmed: %Schema{type: :boolean} } } end diff --git a/lib/pleroma/web/api_spec/operations/filter_operation.ex b/lib/pleroma/web/api_spec/operations/filter_operation.ex index 5102921bc..ac0444aef 100644 --- a/lib/pleroma/web/api_spec/operations/filter_operation.ex +++ b/lib/pleroma/web/api_spec/operations/filter_operation.ex @@ -225,6 +225,12 @@ defp update_request do type: :integer, description: "Number of seconds from now the filter should expire. Otherwise, null for a filter that doesn't expire." + }, + expires_at: %Schema{ + nullable: true, + type: :string, + description: + "When the filter should no longer be applied. String (ISO 8601 Datetime), or null if the filter does not expire." } }, required: [:phrase, :context], diff --git a/lib/pleroma/web/api_spec/operations/follow_request_operation.ex b/lib/pleroma/web/api_spec/operations/follow_request_operation.ex index 784019699..d6f59191b 100644 --- a/lib/pleroma/web/api_spec/operations/follow_request_operation.ex +++ b/lib/pleroma/web/api_spec/operations/follow_request_operation.ex @@ -19,6 +19,7 @@ def index_operation do summary: "Retrieve follow requests", security: [%{"oAuth" => ["read:follows", "follow"]}], operationId: "FollowRequestController.index", + parameters: pagination_params(), responses: %{ 200 => Operation.response("Array of Account", "application/json", %Schema{ @@ -62,4 +63,22 @@ defp id_param do required: true ) end + + defp pagination_params do + [ + Operation.parameter(:max_id, :query, :string, "Return items older than this ID"), + Operation.parameter( + :since_id, + :query, + :string, + "Return the oldest items newer than this ID" + ), + Operation.parameter( + :limit, + :query, + %Schema{type: :integer, default: 20}, + "Maximum number of items to return. Will be ignored if it's more than 40" + ) + ] + end end diff --git a/lib/pleroma/web/api_spec/operations/frontend_settings_operation.ex b/lib/pleroma/web/api_spec/operations/frontend_settings_operation.ex index 40e81ad55..867a751b3 100644 --- a/lib/pleroma/web/api_spec/operations/frontend_settings_operation.ex +++ b/lib/pleroma/web/api_spec/operations/frontend_settings_operation.ex @@ -12,7 +12,7 @@ def open_api_operation(action) do @spec list_profiles_operation() :: Operation.t() def list_profiles_operation() do %Operation{ - tags: ["Retrieve frontend setting profiles"], + tags: ["Frontends"], summary: "Frontend Settings Profiles", description: "List frontend setting profiles", operationId: "AkkomaAPI.FrontendSettingsController.list_profiles", @@ -37,7 +37,7 @@ def list_profiles_operation() do @spec get_profile_operation() :: Operation.t() def get_profile_operation() do %Operation{ - tags: ["Retrieve frontend setting profile"], + tags: ["Frontends"], summary: "Frontend Settings Profile", description: "Get frontend setting profile", operationId: "AkkomaAPI.FrontendSettingsController.get_profile", @@ -60,7 +60,7 @@ def get_profile_operation() do @spec delete_profile_operation() :: Operation.t() def delete_profile_operation() do %Operation{ - tags: ["Delete frontend setting profile"], + tags: ["Frontends"], summary: "Delete frontend Settings Profile", description: "Delete frontend setting profile", operationId: "AkkomaAPI.FrontendSettingsController.delete_profile", @@ -76,7 +76,7 @@ def delete_profile_operation() do @spec update_profile_operation() :: Operation.t() def update_profile_operation() do %Operation{ - tags: ["Update frontend setting profile"], + tags: ["Frontends"], summary: "Frontend Settings Profile", description: "Update frontend setting profile", operationId: "AkkomaAPI.FrontendSettingsController.update_profile_operation", @@ -90,6 +90,57 @@ def update_profile_operation() do } end + def available_frontends_operation() do + %Operation{ + tags: ["Frontends"], + summary: "Frontend Settings Profiles", + description: "List frontend setting profiles", + operationId: "AkkomaAPI.FrontendSettingsController.available_frontends", + responses: %{ + 200 => + Operation.response("Frontends", "application/json", %Schema{ + type: :array, + items: %Schema{ + type: :string + } + }) + } + } + end + + def update_preferred_frontend_operation() do + %Operation{ + tags: ["Frontends"], + summary: "Frontend Settings Profiles", + description: "List frontend setting profiles", + operationId: "AkkomaAPI.FrontendSettingsController.available_frontends", + requestBody: + request_body( + "Frontend", + %Schema{ + type: :object, + required: [:frontend_name], + properties: %{ + frontend_name: %Schema{ + type: :string, + description: "Frontend name" + } + } + }, + required: true + ), + responses: %{ + 200 => + Operation.response("Frontends", "application/json", %Schema{ + type: :array, + items: %Schema{ + type: :string + } + }) + } + } + end + def frontend_name_param do Operation.parameter(:frontend_name, :path, :string, "Frontend name", example: "pleroma-fe", diff --git a/lib/pleroma/web/api_spec/operations/timeline_operation.ex b/lib/pleroma/web/api_spec/operations/timeline_operation.ex index 3eb6f700b..45c97cab6 100644 --- a/lib/pleroma/web/api_spec/operations/timeline_operation.ex +++ b/lib/pleroma/web/api_spec/operations/timeline_operation.ex @@ -70,7 +70,8 @@ def public_operation do operationId: "TimelineController.public", responses: %{ 200 => Operation.response("Array of Status", "application/json", array_of_statuses()), - 401 => Operation.response("Error", "application/json", ApiError) + 401 => Operation.response("Error", "application/json", ApiError), + 404 => Operation.response("Error", "application/json", ApiError) } } end diff --git a/lib/pleroma/web/api_spec/schemas/account_relationship.ex b/lib/pleroma/web/api_spec/schemas/account_relationship.ex index 5d9e3b56e..58751b261 100644 --- a/lib/pleroma/web/api_spec/schemas/account_relationship.ex +++ b/lib/pleroma/web/api_spec/schemas/account_relationship.ex @@ -13,7 +13,10 @@ defmodule Pleroma.Web.ApiSpec.Schemas.AccountRelationship do description: "Relationship between current account and requested account", type: :object, properties: %{ - blocked_by: %Schema{type: :boolean}, + blocked_by: %Schema{ + type: :boolean, + description: "Represents being blocked by this user. Always false." + }, blocking: %Schema{type: :boolean}, domain_blocking: %Schema{type: :boolean}, endorsed: %Schema{type: :boolean}, diff --git a/lib/pleroma/web/common_api.ex b/lib/pleroma/web/common_api.ex index f1f51acf5..86c1bdfa7 100644 --- a/lib/pleroma/web/common_api.ex +++ b/lib/pleroma/web/common_api.ex @@ -88,7 +88,7 @@ def reject_follow_request(follower, followed) do def delete(activity_id, user) do with {_, %Activity{data: %{"object" => _, "type" => "Create"}} = activity} <- - {:find_activity, Activity.get_by_id(activity_id)}, + {:find_activity, Activity.get_by_id(activity_id, filter: [])}, {_, %Object{} = object, _} <- {:find_object, Object.normalize(activity, fetch: false), activity}, true <- User.superuser?(user) || user.ap_id == object.data["actor"], diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex index 345c5d10d..b44d3167c 100644 --- a/lib/pleroma/web/common_api/utils.ex +++ b/lib/pleroma/web/common_api/utils.ex @@ -144,6 +144,8 @@ def make_poll_data(%{poll: %{options: options, expires_in: expires_in}} = data) when is_list(options) do limits = Config.get([:instance, :poll_limits]) + options = options |> Enum.uniq() + with :ok <- validate_poll_expiration(expires_in, limits), :ok <- validate_poll_options_amount(options, limits), :ok <- validate_poll_options_length(options, limits) do @@ -179,10 +181,15 @@ def make_poll_data(_data) do end defp validate_poll_options_amount(options, %{max_options: max_options}) do - if Enum.count(options) > max_options do - {:error, "Poll can't contain more than #{max_options} options"} - else - :ok + cond do + Enum.count(options) < 2 -> + {:error, "Poll must contain at least 2 options"} + + Enum.count(options) > max_options -> + {:error, "Poll can't contain more than #{max_options} options"} + + true -> + :ok end end @@ -289,7 +296,7 @@ def format_input(text, "text/html", options) do def format_input(text, "text/x.misskeymarkdown", options) do text - |> Formatter.markdown_to_html() + |> Formatter.markdown_to_html(%{breaks: true}) |> MfmParser.Parser.parse() |> MfmParser.Encoder.to_html() |> Formatter.linkify(options) diff --git a/lib/pleroma/web/embed_controller.ex b/lib/pleroma/web/embed_controller.ex index c7912bb1f..cffd6e29f 100644 --- a/lib/pleroma/web/embed_controller.ex +++ b/lib/pleroma/web/embed_controller.ex @@ -11,22 +11,31 @@ defmodule Pleroma.Web.EmbedController do alias Pleroma.Web.ActivityPub.Visibility - plug(:put_layout, :embed) - def show(conn, %{"id" => id}) do - with %Activity{local: true} = activity <- - Activity.get_by_id_with_object(id), - true <- Visibility.is_public?(activity.object) do + with {:activity, %Activity{} = activity} <- + {:activity, Activity.get_by_id_with_object(id)}, + {:local, true} <- {:local, activity.local}, + {:visible, true} <- {:visible, Visibility.visible_for_user?(activity, nil)} do {:ok, author} = User.get_or_fetch(activity.object.data["actor"]) conn |> delete_resp_header("x-frame-options") |> delete_resp_header("content-security-policy") + |> put_view(Pleroma.Web.EmbedView) |> render("show.html", activity: activity, author: User.sanitize_html(author), counts: get_counts(activity) ) + else + {:activity, _} -> + render_error(conn, :not_found, "Post not found") + + {:local, false} -> + render_error(conn, :unauthorized, "Federated posts cannot be embedded") + + {:visible, false} -> + render_error(conn, :unauthorized, "Not authorized to view this post") end end diff --git a/lib/pleroma/web/fallback/redirect_controller.ex b/lib/pleroma/web/fallback/redirect_controller.ex index 49f659cf0..2e57fa426 100644 --- a/lib/pleroma/web/fallback/redirect_controller.ex +++ b/lib/pleroma/web/fallback/redirect_controller.ex @@ -20,7 +20,7 @@ def api_not_implemented(conn, _params) do def redirector(conn, _params, code \\ 200) do conn |> put_resp_content_type("text/html") - |> send_file(code, index_file_path()) + |> send_file(code, index_file_path(conn)) end def redirector_with_meta(conn, %{"maybe_nickname_or_id" => maybe_nickname_or_id} = params) do @@ -33,7 +33,7 @@ def redirector_with_meta(conn, %{"maybe_nickname_or_id" => maybe_nickname_or_id} end def redirector_with_meta(conn, params) do - {:ok, index_content} = File.read(index_file_path()) + {:ok, index_content} = File.read(index_file_path(conn)) tags = build_tags(conn, params) preloads = preload_data(conn, params) @@ -53,7 +53,7 @@ def redirector_with_preload(conn, %{"path" => ["pleroma", "admin"]}) do end def redirector_with_preload(conn, params) do - {:ok, index_content} = File.read(index_file_path()) + {:ok, index_content} = File.read(index_file_path(conn)) preloads = preload_data(conn, params) tags = Metadata.build_static_tags(params) title = "#{Pleroma.Config.get([:instance, :name])}" @@ -77,8 +77,9 @@ def empty(conn, _params) do |> text("") end - defp index_file_path do - Pleroma.Web.Plugs.InstanceStatic.file_path("index.html") + defp index_file_path(conn) do + frontend_type = Pleroma.Web.Plugs.FrontendStatic.preferred_or_fallback(conn, :primary) + Pleroma.Web.Plugs.InstanceStatic.file_path("index.html", frontend_type) end defp build_tags(conn, params) do diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index 678ec3a80..b55e843db 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -221,6 +221,7 @@ def update_credentials(%{assigns: %{user: user}, body_params: params} = conn, _p |> Maps.put_if_present(:is_discoverable, params[:discoverable]) |> Maps.put_if_present(:language, Pleroma.Web.Gettext.normalize_locale(params[:language])) |> Maps.put_if_present(:status_ttl_days, params[:status_ttl_days], status_ttl_days_value) + |> Maps.put_if_present(:accepts_direct_messages_from, params[:accepts_direct_messages_from]) # What happens here: # @@ -517,7 +518,12 @@ def blocks(%{assigns: %{user: user}} = conn, params) do conn |> add_link_headers(users) - |> render("index.json", users: users, for: user, as: :user) + |> render("index.json", + users: users, + for: user, + as: :user, + embed_relationships: embed_relationships?(params) + ) end @doc "GET /api/v1/accounts/lookup" diff --git a/lib/pleroma/web/mastodon_api/controllers/follow_request_controller.ex b/lib/pleroma/web/mastodon_api/controllers/follow_request_controller.ex index d915298f1..e534d0388 100644 --- a/lib/pleroma/web/mastodon_api/controllers/follow_request_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/follow_request_controller.ex @@ -5,9 +5,13 @@ defmodule Pleroma.Web.MastodonAPI.FollowRequestController do use Pleroma.Web, :controller + import Pleroma.Web.ControllerHelper, + only: [add_link_headers: 2] + alias Pleroma.User alias Pleroma.Web.CommonAPI alias Pleroma.Web.Plugs.OAuthScopesPlug + alias Pleroma.Pagination plug(Pleroma.Web.ApiSpec.CastAndValidate) plug(:assign_follower when action != :index) @@ -24,10 +28,15 @@ defmodule Pleroma.Web.MastodonAPI.FollowRequestController do defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.FollowRequestOperation @doc "GET /api/v1/follow_requests" - def index(%{assigns: %{user: followed}} = conn, _params) do - follow_requests = User.get_follow_requests(followed) + def index(%{assigns: %{user: followed}} = conn, params) do + follow_requests = + followed + |> User.get_follow_requests_query() + |> Pagination.fetch_paginated(params, :keyset, :follower) - render(conn, "index.json", for: followed, users: follow_requests, as: :user) + conn + |> add_link_headers(follow_requests) + |> render("index.json", for: followed, users: follow_requests, as: :user) end @doc "POST /api/v1/follow_requests/:id/authorize" diff --git a/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex b/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex index 2d0e36420..1d4e734a4 100644 --- a/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex @@ -16,7 +16,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineController do alias Pleroma.Web.Plugs.RateLimiter plug(Pleroma.Web.ApiSpec.CastAndValidate) - plug(:skip_public_check when action in [:public, :hashtag]) + plug(:skip_public_check when action in [:public, :hashtag, :bubble]) # TODO: Replace with a macro when there is a Phoenix release with the following commit in it: # https://github.com/phoenixframework/phoenix/commit/2e8c63c01fec4dde5467dbbbf9705ff9e780735e @@ -28,19 +28,25 @@ defmodule Pleroma.Web.MastodonAPI.TimelineController do plug(RateLimiter, [name: :timeline, bucket_name: :list_timeline] when action == :list) plug(RateLimiter, [name: :timeline, bucket_name: :bubble_timeline] when action == :bubble) - plug(OAuthScopesPlug, %{scopes: ["read:statuses"]} when action in [:home, :direct, :bubble]) + plug(OAuthScopesPlug, %{scopes: ["read:statuses"]} when action in [:home, :direct]) plug(OAuthScopesPlug, %{scopes: ["read:lists"]} when action == :list) plug( OAuthScopesPlug, %{scopes: ["read:statuses"], fallback: :proceed_unauthenticated} - when action in [:public, :hashtag] + when action in [:public, :hashtag, :bubble] ) + require Logger + defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.TimelineOperation # GET /api/v1/timelines/home def home(%{assigns: %{user: user}} = conn, params) do + %{nickname: nickname} = user + + Logger.debug("TimelineController.home: #{nickname}") + followed_hashtags = user |> User.followed_hashtags() @@ -58,11 +64,15 @@ def home(%{assigns: %{user: user}} = conn, params) do |> Map.put(:followed_hashtags, followed_hashtags) |> Map.delete(:local) + Logger.debug("TimelineController.home: #{nickname} - fetching activities") + activities = [user.ap_id | User.following(user)] |> ActivityPub.fetch_activities(params) |> Enum.reverse() + Logger.debug("TimelineController.home: #{nickname} - rendering") + conn |> add_link_headers(activities) |> render("index.json", @@ -75,6 +85,8 @@ def home(%{assigns: %{user: user}} = conn, params) do # GET /api/v1/timelines/direct def direct(%{assigns: %{user: user}} = conn, params) do + Logger.debug("TimelineController.direct: #{user.nickname}") + params = params |> Map.put(:type, "Create") @@ -82,11 +94,15 @@ def direct(%{assigns: %{user: user}} = conn, params) do |> Map.put(:user, user) |> Map.put(:visibility, "direct") + Logger.debug("TimelineController.direct: #{user.nickname} - fetching activities") + activities = [user.ap_id] |> ActivityPub.fetch_activities_query(params) |> Pagination.fetch_paginated(params) + Logger.debug("TimelineController.direct: #{user.nickname} - rendering") + conn |> add_link_headers(activities) |> render("index.json", @@ -96,21 +112,22 @@ def direct(%{assigns: %{user: user}} = conn, params) do ) end - defp restrict_unauthenticated?(true = _local_only) do - Config.restrict_unauthenticated_access?(:timelines, :local) - end - - defp restrict_unauthenticated?(_) do - Config.restrict_unauthenticated_access?(:timelines, :federated) + defp restrict_unauthenticated?(type) do + Config.restrict_unauthenticated_access?(:timelines, type) end # GET /api/v1/timelines/public def public(%{assigns: %{user: user}} = conn, params) do + Logger.debug("TimelineController.public") local_only = params[:local] + timeline_type = if local_only, do: :local, else: :federated + + with {:enabled, true} <- + {:enabled, local_only || Config.get([:instance, :federated_timeline_available], true)}, + {:authenticated, true} <- + {:authenticated, !(is_nil(user) and restrict_unauthenticated?(timeline_type))} do + Logger.debug("TimelineController.public: fetching activities") - if is_nil(user) and restrict_unauthenticated?(local_only) do - fail_on_bad_auth(conn) - else activities = params |> Map.put(:type, ["Create"]) @@ -123,6 +140,8 @@ def public(%{assigns: %{user: user}} = conn, params) do |> Map.put(:includes_local_public, not is_nil(user)) |> ActivityPub.fetch_public_activities() + Logger.debug("TimelineController.public: rendering") + conn |> add_link_headers(activities, %{"local" => local_only}) |> render("index.json", @@ -131,20 +150,32 @@ def public(%{assigns: %{user: user}} = conn, params) do as: :activity, with_muted: Map.get(params, :with_muted, false) ) + else + {:enabled, false} -> + conn + |> put_status(404) + |> json(%{error: "Federated timeline is disabled"}) + + {:authenticated, false} -> + fail_on_bad_auth(conn) end end # GET /api/v1/timelines/bubble def bubble(%{assigns: %{user: user}} = conn, params) do - bubble_instances = - Enum.uniq( - Config.get([:instance, :local_bubble], []) ++ - [Pleroma.Web.Endpoint.host()] - ) + Logger.debug("TimelineController.bubble") - if is_nil(user) do + if is_nil(user) and restrict_unauthenticated?(:bubble) do fail_on_bad_auth(conn) else + bubble_instances = + Enum.uniq( + Config.get([:instance, :local_bubble], []) ++ + [Pleroma.Web.Endpoint.host()] + ) + + Logger.debug("TimelineController.bubble: fetching activities") + activities = params |> Map.put(:type, ["Create"]) @@ -154,6 +185,8 @@ def bubble(%{assigns: %{user: user}} = conn, params) do |> Map.put(:instance, bubble_instances) |> ActivityPub.fetch_public_activities() + Logger.debug("TimelineController.bubble: rendering") + conn |> add_link_headers(activities) |> render("index.json", @@ -195,7 +228,7 @@ defp hashtag_fetching(params, user, local_only) do def hashtag(%{assigns: %{user: user}} = conn, params) do local_only = params[:local] - if is_nil(user) and restrict_unauthenticated?(local_only) do + if is_nil(user) and restrict_unauthenticated?(if local_only, do: :local, else: :federated) do fail_on_bad_auth(conn) else activities = hashtag_fetching(params, user, local_only) diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex index 653a50e20..e3f91a4e3 100644 --- a/lib/pleroma/web/mastodon_api/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -124,14 +124,7 @@ def render( target, &User.blocks_user?(&1, &2) ), - blocked_by: - UserRelationship.exists?( - user_relationships, - :block, - target, - reading_user, - &User.blocks_user?(&1, &2) - ), + blocked_by: false, muting: UserRelationship.exists?( user_relationships, @@ -334,7 +327,8 @@ defp maybe_put_follow_requests_count( %User{id: user_id} ) do count = - User.get_follow_requests(user) + user + |> User.get_follow_requests() |> length() data @@ -353,6 +347,7 @@ defp maybe_put_settings( |> Kernel.put_in([:source, :privacy], user.default_scope) |> Kernel.put_in([:source, :pleroma, :show_role], user.show_role) |> Kernel.put_in([:source, :pleroma, :no_rich_text], user.no_rich_text) + |> Kernel.put_in([:accepts_direct_messages_from], user.accepts_direct_messages_from) end defp maybe_put_settings(data, _, _, _), do: data diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index 4fed1af74..2b5354873 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -65,7 +65,11 @@ def features do "shareable_emoji_packs", "multifetch", "pleroma:api/v1/notifications:include_types_filter", + "quote_posting", "editing", + if !Enum.empty?(Config.get([:instance, :local_bubble], [])) do + "bubble_timeline" + end, if Config.get([:media_proxy, :enabled]) do "media_proxy" end, diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 48756e78b..47d1616c4 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -21,6 +21,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do alias Pleroma.Web.MastodonAPI.StatusView alias Pleroma.Web.MediaProxy alias Pleroma.Web.PleromaAPI.EmojiReactionController + require Logger import Pleroma.Web.ActivityPub.Visibility, only: [get_visibility: 1, visible_for_user?: 2] @@ -87,6 +88,7 @@ defp reblogged?(activity, %User{ap_id: ap_id}) do defp reblogged?(_activity, _user), do: false def render("index.json", opts) do + Logger.debug("Rendering index") reading_user = opts[:for] # To do: check AdminAPIControllerTest on the reasons behind nil activities in the list activities = Enum.filter(opts.activities, & &1) @@ -136,8 +138,10 @@ def render("index.json", opts) do def render( "show.json", - %{activity: %{data: %{"type" => "Announce", "object" => _object}} = activity} = opts + %{activity: %{id: id, data: %{"type" => "Announce", "object" => _object}} = activity} = + opts ) do + Logger.debug("Rendering reblog #{id}") user = CommonAPI.get_user(activity.data["actor"]) created_at = Utils.to_masto_date(activity.data["published"]) object = Object.normalize(activity, fetch: false) @@ -183,7 +187,7 @@ def render( in_reply_to_id: nil, in_reply_to_account_id: nil, reblog: reblogged, - content: reblogged[:content] || "", + content: "", created_at: created_at, reblogs_count: 0, replies_count: 0, @@ -209,7 +213,9 @@ def render( } end - def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do + def render("show.json", %{activity: %{id: id, data: %{"object" => _object}} = activity} = opts) do + Logger.debug("Rendering status #{id}") + with %Object{} = object <- Object.normalize(activity, fetch: false) do user = CommonAPI.get_user(activity.data["actor"]) user_follower_address = user.follower_address @@ -227,8 +233,10 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity} |> Enum.filter(fn tag -> is_map(tag) and tag["type"] == "Mention" end) |> Enum.map(fn tag -> tag["href"] end) + to_data = if is_nil(object.data["to"]), do: [], else: object.data["to"] + mentions = - (object.data["to"] ++ tag_mentions) + (to_data ++ tag_mentions) |> Enum.uniq() |> Enum.map(fn Pleroma.Constants.as_public() -> nil @@ -426,6 +434,7 @@ def render("show.json", _) do end def render("history.json", %{activity: %{data: %{"object" => _object}} = activity} = opts) do + Logger.debug("Rendering history for #{activity.id}") object = Object.normalize(activity, fetch: false) hashtags = Object.hashtags(object) @@ -612,6 +621,8 @@ def render("attachment_meta.json", %{ def render("attachment_meta.json", _), do: nil def render("context.json", %{activity: activity, activities: activities, user: user}) do + Logger.debug("Rendering context for #{activity.id}") + %{ancestors: ancestors, descendants: descendants} = activities |> Enum.reverse() diff --git a/lib/pleroma/web/media_proxy.ex b/lib/pleroma/web/media_proxy.ex index 0b232f14b..44f927dba 100644 --- a/lib/pleroma/web/media_proxy.ex +++ b/lib/pleroma/web/media_proxy.ex @@ -52,7 +52,7 @@ def url(url) do @spec url_proxiable?(String.t()) :: boolean() def url_proxiable?(url) do - not local?(url) and not whitelisted?(url) + not local?(url) and not whitelisted?(url) and not blocked?(url) end def preview_url(url, preview_params \\ []) do @@ -83,6 +83,16 @@ def whitelisted?(url) do domain in mediaproxy_whitelist_domains end + def blocked?(url) do + %{scheme: scheme, host: domain} = URI.parse(url) + # Block either the bare domain or the scheme-domain combo + scheme_domain = "#{scheme}://#{domain}" + blocklist = Config.get([:media_proxy, :blocklist]) + + Enum.member?(blocklist, domain) || + Enum.member?(blocklist, scheme_domain) + end + defp maybe_get_domain_from_url("http" <> _ = url) do URI.parse(url).host end diff --git a/lib/pleroma/web/metadata/providers/rel_me.ex b/lib/pleroma/web/metadata/providers/rel_me.ex index f013def51..cf6a3a3ab 100644 --- a/lib/pleroma/web/metadata/providers/rel_me.ex +++ b/lib/pleroma/web/metadata/providers/rel_me.ex @@ -8,12 +8,20 @@ defmodule Pleroma.Web.Metadata.Providers.RelMe do @impl Provider def build_tags(%{user: user}) do - bio_tree = Floki.parse_fragment!(user.bio) + profile_tree = + user.bio + |> append_fields_tag(user.fields) + |> Floki.parse_fragment!() - (Floki.attribute(bio_tree, "link[rel~=me]", "href") ++ - Floki.attribute(bio_tree, "a[rel~=me]", "href")) + (Floki.attribute(profile_tree, "link[rel~=me]", "href") ++ + Floki.attribute(profile_tree, "a[rel~=me]", "href")) |> Enum.map(fn link -> {:link, [rel: "me", href: link], []} end) end + + defp append_fields_tag(bio, fields) do + fields + |> Enum.reduce(bio, fn %{"value" => v}, res -> res <> v end) + end end diff --git a/lib/pleroma/web/metadata/providers/twitter_card.ex b/lib/pleroma/web/metadata/providers/twitter_card.ex index 79183df86..b2497d14e 100644 --- a/lib/pleroma/web/metadata/providers/twitter_card.ex +++ b/lib/pleroma/web/metadata/providers/twitter_card.ex @@ -20,12 +20,12 @@ def build_tags(%{activity_id: id, object: object, user: user}) do [ title_tag(user), - {:meta, [property: "twitter:description", content: scrubbed_content], []} + {:meta, [name: "twitter:description", content: scrubbed_content], []} ] ++ if attachments == [] or Metadata.activity_nsfw?(object) do [ image_tag(user), - {:meta, [property: "twitter:card", content: "summary"], []} + {:meta, [name: "twitter:card", content: "summary"], []} ] else attachments @@ -37,20 +37,19 @@ def build_tags(%{user: user}) do with truncated_bio = Utils.scrub_html_and_truncate(user.bio) do [ title_tag(user), - {:meta, [property: "twitter:description", content: truncated_bio], []}, + {:meta, [name: "twitter:description", content: truncated_bio], []}, image_tag(user), - {:meta, [property: "twitter:card", content: "summary"], []} + {:meta, [name: "twitter:card", content: "summary"], []} ] end end defp title_tag(user) do - {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []} + {:meta, [name: "twitter:title", content: Utils.user_name_string(user)], []} end def image_tag(user) do - {:meta, [property: "twitter:image", content: MediaProxy.preview_url(User.avatar_url(user))], - []} + {:meta, [name: "twitter:image", content: MediaProxy.preview_url(User.avatar_url(user))], []} end defp build_attachments(id, %{data: %{"attachment" => attachments}}) do @@ -60,10 +59,10 @@ defp build_attachments(id, %{data: %{"attachment" => attachments}}) do case Utils.fetch_media_type(@media_types, url["mediaType"]) do "audio" -> [ - {:meta, [property: "twitter:card", content: "player"], []}, - {:meta, [property: "twitter:player:width", content: "480"], []}, - {:meta, [property: "twitter:player:height", content: "80"], []}, - {:meta, [property: "twitter:player", content: player_url(id)], []} + {:meta, [name: "twitter:card", content: "player"], []}, + {:meta, [name: "twitter:player:width", content: "480"], []}, + {:meta, [name: "twitter:player:height", content: "80"], []}, + {:meta, [name: "twitter:player", content: player_url(id)], []} | acc ] @@ -74,10 +73,10 @@ defp build_attachments(id, %{data: %{"attachment" => attachments}}) do # workaround. "image" -> [ - {:meta, [property: "twitter:card", content: "summary_large_image"], []}, + {:meta, [name: "twitter:card", content: "summary_large_image"], []}, {:meta, [ - property: "twitter:player", + name: "twitter:player", content: MediaProxy.url(url["href"]) ], []} | acc @@ -90,14 +89,14 @@ defp build_attachments(id, %{data: %{"attachment" => attachments}}) do width = url["width"] || 480 [ - {:meta, [property: "twitter:card", content: "player"], []}, - {:meta, [property: "twitter:player", content: player_url(id)], []}, - {:meta, [property: "twitter:player:width", content: "#{width}"], []}, - {:meta, [property: "twitter:player:height", content: "#{height}"], []}, - {:meta, [property: "twitter:player:stream", content: MediaProxy.url(url["href"])], + {:meta, [name: "twitter:card", content: "player"], []}, + {:meta, [name: "twitter:player", content: player_url(id)], []}, + {:meta, [name: "twitter:player:width", content: "#{width}"], []}, + {:meta, [name: "twitter:player:height", content: "#{height}"], []}, + {:meta, [name: "twitter:player:stream", content: MediaProxy.url(url["href"])], []}, - {:meta, - [property: "twitter:player:stream:content_type", content: url["mediaType"]], []} + {:meta, [name: "twitter:player:stream:content_type", content: url["mediaType"]], + []} | acc ] @@ -123,8 +122,8 @@ defp maybe_add_dimensions(metadata, url) do !is_nil(url["height"]) && !is_nil(url["width"]) -> metadata ++ [ - {:meta, [property: "twitter:player:width", content: "#{url["width"]}"], []}, - {:meta, [property: "twitter:player:height", content: "#{url["height"]}"], []} + {:meta, [name: "twitter:player:width", content: "#{url["width"]}"], []}, + {:meta, [name: "twitter:player:height", content: "#{url["height"]}"], []} ] true -> diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex index bf0d65f45..532ae53a7 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex @@ -71,7 +71,15 @@ def get_nodeinfo("2.0") do restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), skipThreadContainment: Config.get([:instance, :skip_thread_containment], false), privilegedStaff: Config.get([:instance, :privileged_staff]), - localBubbleInstances: Config.get([:instance, :local_bubble], []) + localBubbleInstances: Config.get([:instance, :local_bubble], []), + publicTimelineVisibility: %{ + federated: + !Config.restrict_unauthenticated_access?(:timelines, :federated) && + Config.get([:instance, :federated_timeline_available], true), + local: !Config.restrict_unauthenticated_access?(:timelines, :local), + bubble: !Config.restrict_unauthenticated_access?(:timelines, :bubble) + }, + federatedTimelineAvailable: Config.get([:instance, :federated_timeline_available], true) } } end diff --git a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex index a0dee7c6b..ea2d86f92 100644 --- a/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex +++ b/lib/pleroma/web/nodeinfo/nodeinfo_controller.ex @@ -5,12 +5,8 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do use Pleroma.Web, :controller - alias Pleroma.Config - alias Pleroma.Stats - alias Pleroma.User - alias Pleroma.Web.Federator.Publisher - alias Pleroma.Web.MastodonAPI.InstanceView alias Pleroma.Web.Endpoint + alias Pleroma.Web.Nodeinfo.Nodeinfo def schemas(conn, _params) do response = %{ @@ -29,101 +25,15 @@ def schemas(conn, _params) do json(conn, response) end - # returns a nodeinfo 2.0 map, since 2.1 just adds a repository field - # under software. - def raw_nodeinfo do - stats = Stats.get_stats() - - staff_accounts = - User.all_superusers() - |> Enum.map(fn u -> u.ap_id end) - |> Enum.filter(fn u -> not Enum.member?(Config.get([:instance, :staff_transparency]), u) end) - - features = InstanceView.features() - federation = InstanceView.federation() - - %{ - version: "2.0", - software: %{ - name: Pleroma.Application.name() |> String.downcase(), - version: Pleroma.Application.version() - }, - protocols: Publisher.gather_nodeinfo_protocol_names(), - services: %{ - inbound: [], - outbound: [] - }, - openRegistrations: Config.get([:instance, :registrations_open]), - usage: %{ - users: %{ - total: Map.get(stats, :user_count, 0) - }, - localPosts: Map.get(stats, :status_count, 0) - }, - metadata: %{ - nodeName: Config.get([:instance, :name]), - nodeDescription: Config.get([:instance, :description]), - private: !Config.get([:instance, :public], true), - suggestions: %{ - enabled: false - }, - staffAccounts: staff_accounts, - federation: federation, - pollLimits: Config.get([:instance, :poll_limits]), - postFormats: Config.get([:instance, :allowed_post_formats]), - uploadLimits: %{ - general: Config.get([:instance, :upload_limit]), - avatar: Config.get([:instance, :avatar_upload_limit]), - banner: Config.get([:instance, :banner_upload_limit]), - background: Config.get([:instance, :background_upload_limit]) - }, - fieldsLimits: %{ - maxFields: Config.get([:instance, :max_account_fields]), - maxRemoteFields: Config.get([:instance, :max_remote_account_fields]), - nameLength: Config.get([:instance, :account_field_name_length]), - valueLength: Config.get([:instance, :account_field_value_length]) - }, - accountActivationRequired: Config.get([:instance, :account_activation_required], false), - invitesEnabled: Config.get([:instance, :invites_enabled], false), - mailerEnabled: Config.get([Pleroma.Emails.Mailer, :enabled], false), - features: features, - restrictedNicknames: Config.get([Pleroma.User, :restricted_nicknames]), - skipThreadContainment: Config.get([:instance, :skip_thread_containment], false), - localBubbleInstances: Config.get([:instance, :local_bubble], []) - } - } - end - # Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json # and https://github.com/jhass/nodeinfo/blob/master/schemas/2.1/schema.json - def nodeinfo(conn, %{"version" => "2.0"}) do + def nodeinfo(conn, %{"version" => version}) when version in ["2.0", "2.1"] do conn |> put_resp_header( "content-type", "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.0#; charset=utf-8" ) - |> json(raw_nodeinfo()) - end - - def nodeinfo(conn, %{"version" => "2.1"}) do - raw_response = raw_nodeinfo() - - updated_software = - raw_response - |> Map.get(:software) - |> Map.put(:repository, Pleroma.Application.repository()) - - response = - raw_response - |> Map.put(:software, updated_software) - |> Map.put(:version, "2.1") - - conn - |> put_resp_header( - "content-type", - "application/json; profile=http://nodeinfo.diaspora.software/ns/schema/2.1#; charset=utf-8" - ) - |> json(response) + |> json(Nodeinfo.get_nodeinfo(version)) end def nodeinfo(conn, _) do diff --git a/lib/pleroma/web/o_auth/scopes.ex b/lib/pleroma/web/o_auth/scopes.ex index 344ecd631..a170eb33b 100644 --- a/lib/pleroma/web/o_auth/scopes.ex +++ b/lib/pleroma/web/o_auth/scopes.ex @@ -71,6 +71,8 @@ def validate(scopes, app_scopes, _user) do """ def filter_admin_scopes(scopes, %Pleroma.User{is_admin: true}), do: scopes + def filter_admin_scopes(scopes, %Pleroma.User{is_moderator: true}), do: scopes + def filter_admin_scopes(scopes, _user) do drop_scopes = OAuthScopesPlug.filter_descendants(scopes, ["admin"]) Enum.reject(scopes, fn scope -> Enum.member?(drop_scopes, scope) end) diff --git a/lib/pleroma/web/o_status/o_status_controller.ex b/lib/pleroma/web/o_status/o_status_controller.ex index 7731d847f..95a22895e 100644 --- a/lib/pleroma/web/o_status/o_status_controller.ex +++ b/lib/pleroma/web/o_status/o_status_controller.ex @@ -36,7 +36,7 @@ def object(%{assigns: %{format: format}} = conn, _params) def object(conn, _params) do with id <- Endpoint.url() <> conn.request_path, {_, %Activity{} = activity} <- - {:activity, Activity.get_create_by_object_ap_id_with_object(id)}, + {:activity, Activity.get_local_create_by_object_ap_id(id)}, {_, true} <- {:public?, Visibility.is_public?(activity)}, {_, false} <- {:local_public?, Visibility.is_local_public?(activity)} do redirect(conn, to: "/notice/#{activity.id}") diff --git a/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex b/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex index 0933363a6..e762fcad8 100644 --- a/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex +++ b/lib/pleroma/web/pleroma_api/controllers/emoji_reaction_controller.ex @@ -41,6 +41,17 @@ def index(%{assigns: %{user: user}} = conn, %{id: activity_id} = params) do end end + defp filter_allowed_user_by_ap_id(ap_ids, excluded_ap_ids) do + Enum.reject(ap_ids, fn ap_id -> + with false <- ap_id in excluded_ap_ids, + %{is_active: true} <- User.get_cached_by_ap_id(ap_id) do + false + else + _ -> true + end + end) + end + def filter_allowed_users(reactions, user, with_muted) do exclude_ap_ids = if is_nil(user) do @@ -51,7 +62,7 @@ def filter_allowed_users(reactions, user, with_muted) do end filter_emoji = fn emoji, users, url -> - case Enum.reject(users, &(&1 in exclude_ap_ids)) do + case filter_allowed_user_by_ap_id(users, exclude_ap_ids) do [] -> nil users -> {emoji, users, url} end diff --git a/lib/pleroma/web/plugs/frontend_static.ex b/lib/pleroma/web/plugs/frontend_static.ex index 40f51e149..41b8ba46b 100644 --- a/lib/pleroma/web/plugs/frontend_static.ex +++ b/lib/pleroma/web/plugs/frontend_static.ex @@ -5,17 +5,23 @@ defmodule Pleroma.Web.Plugs.FrontendStatic do require Pleroma.Constants + @frontend_cookie_name "preferred_frontend" + @moduledoc """ This is a shim to call `Plug.Static` but with runtime `from` configuration`. It dispatches to the different frontends. """ @behaviour Plug - def file_path(path, frontend_type \\ :primary) do - if configuration = Pleroma.Config.get([:frontends, frontend_type]) do - instance_static_path = Pleroma.Config.get([:instance, :static_dir], "instance/static") + defp instance_static_path do + Pleroma.Config.get([:instance, :static_dir], "instance/static") + end + def file_path(path, frontend_type \\ :primary) + + def file_path(path, frontend_type) when is_atom(frontend_type) do + if configuration = Pleroma.Config.get([:frontends, frontend_type]) do Path.join([ - instance_static_path, + instance_static_path(), "frontends", configuration["name"], configuration["ref"], @@ -26,6 +32,15 @@ def file_path(path, frontend_type \\ :primary) do end end + def file_path(path, frontend_type) when is_binary(frontend_type) do + Path.join([ + instance_static_path(), + "frontends", + frontend_type, + path + ]) + end + def init(opts) do opts |> Keyword.put(:from, "__unconfigured_frontend_static_plug") @@ -38,7 +53,8 @@ def call(conn, opts) do with false <- api_route?(conn.path_info), false <- invalid_path?(conn.path_info), true <- enabled?(opts[:if]), - frontend_type <- Map.get(opts, :frontend_type, :primary), + fallback_frontend_type <- Map.get(opts, :frontend_type, :primary), + frontend_type <- preferred_or_fallback(conn, fallback_frontend_type), path when not is_nil(path) <- file_path("", frontend_type) do call_static(conn, opts, path) else @@ -47,6 +63,31 @@ def call(conn, opts) do end end + def preferred_frontend(conn) do + %{req_cookies: cookies} = + conn + |> Plug.Conn.fetch_cookies() + + Map.get(cookies, @frontend_cookie_name) + end + + # Only override primary frontend + def preferred_or_fallback(conn, :primary) do + case preferred_frontend(conn) do + nil -> + :primary + + frontend -> + if Enum.member?(Pleroma.Config.get([:frontends, :pickable], []), frontend) do + frontend + else + :primary + end + end + end + + def preferred_or_fallback(_conn, fallback), do: fallback + defp enabled?(if_opt) when is_function(if_opt), do: if_opt.() defp enabled?(true), do: true defp enabled?(_), do: false diff --git a/lib/pleroma/web/plugs/http_security_plug.ex b/lib/pleroma/web/plugs/http_security_plug.ex index b1f1ada94..d7cff7343 100644 --- a/lib/pleroma/web/plugs/http_security_plug.ex +++ b/lib/pleroma/web/plugs/http_security_plug.ex @@ -8,6 +8,8 @@ defmodule Pleroma.Web.Plugs.HTTPSecurityPlug do require Logger + @mix_env Mix.env() + def init(opts), do: opts def call(conn, _options) do @@ -114,7 +116,14 @@ defp csp_string(conn) do style_src = "style-src 'self' '#{nonce_tag}'" font_src = "font-src 'self'" - script_src = "script-src 'self' '#{nonce_tag}'" + script_src = "script-src 'self' '#{nonce_tag}' " + + script_src = + if @mix_env == :dev do + "script-src 'self' 'unsafe-eval' 'unsafe-inline'" + else + script_src + end report = if report_uri, do: ["report-uri ", report_uri, ";report-to csp-endpoint"] insecure = if scheme == "https", do: "upgrade-insecure-requests" diff --git a/lib/pleroma/web/plugs/instance_static.ex b/lib/pleroma/web/plugs/instance_static.ex index 723b25679..5f9a6ee83 100644 --- a/lib/pleroma/web/plugs/instance_static.ex +++ b/lib/pleroma/web/plugs/instance_static.ex @@ -12,11 +12,11 @@ defmodule Pleroma.Web.Plugs.InstanceStatic do """ @behaviour Plug - def file_path(path) do + def file_path(path, frontend_type \\ :primary) do instance_path = Path.join(Pleroma.Config.get([:instance, :static_dir], "instance/static/"), path) - frontend_path = Pleroma.Web.Plugs.FrontendStatic.file_path(path, :primary) + frontend_path = Pleroma.Web.Plugs.FrontendStatic.file_path(path, frontend_type) (File.exists?(instance_path) && instance_path) || (frontend_path && File.exists?(frontend_path) && frontend_path) || diff --git a/lib/pleroma/web/plugs/uploaded_media.ex b/lib/pleroma/web/plugs/uploaded_media.ex index 72f20e8de..300c33068 100644 --- a/lib/pleroma/web/plugs/uploaded_media.ex +++ b/lib/pleroma/web/plugs/uploaded_media.ex @@ -37,7 +37,7 @@ def call(%{request_path: <<"/", @path, "/", file::binary>>} = conn, opts) do %{query_params: %{"name" => name}} = conn -> name = escape_header_value(name) - put_resp_header(conn, "content-disposition", "filename=\"#{name}\"") + put_resp_header(conn, "content-disposition", ~s[inline; filename="#{name}"]) conn -> conn diff --git a/lib/pleroma/web/rel_me.ex b/lib/pleroma/web/rel_me.ex index 98a3ae8ee..afb525dbe 100644 --- a/lib/pleroma/web/rel_me.ex +++ b/lib/pleroma/web/rel_me.ex @@ -37,15 +37,18 @@ defp parse_url(url) do end def maybe_put_rel_me("http" <> _ = target_page, profile_urls) when is_list(profile_urls) do - {:ok, rel_me_hrefs} = parse(target_page) - true = Enum.any?(rel_me_hrefs, fn x -> x in profile_urls end) - - "me" + with {:parse, {:ok, rel_me_hrefs}} <- {:parse, parse(target_page)}, + {:link_match, true} <- + {:link_match, Enum.any?(rel_me_hrefs, fn x -> x in profile_urls end)} do + "me" + else + e -> {:error, {:could_not_verify, target_page, e}} + end rescue - _ -> nil + e -> {:error, {:could_not_fetch, target_page, e}} end def maybe_put_rel_me(_, _) do - nil + {:error, :invalid_url} end end diff --git a/lib/pleroma/web/rich_media/parsers/o_embed.ex b/lib/pleroma/web/rich_media/parsers/o_embed.ex index 09eabec56..695740d2e 100644 --- a/lib/pleroma/web/rich_media/parsers/o_embed.ex +++ b/lib/pleroma/web/rich_media/parsers/o_embed.ex @@ -6,8 +6,8 @@ defmodule Pleroma.Web.RichMedia.Parsers.OEmbed do def parse(html, _data) do with elements = [_ | _] <- get_discovery_data(html), oembed_url when is_binary(oembed_url) <- get_oembed_url(elements), - {:ok, oembed_data} <- get_oembed_data(oembed_url) do - oembed_data + {:ok, oembed_data = %{"html" => html}} <- get_oembed_data(oembed_url) do + %{oembed_data | "html" => Pleroma.HTML.filter_tags(html)} else _e -> %{} end diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index faaf3d679..7550eefdf 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -466,6 +466,29 @@ defmodule Pleroma.Web.Router do put("/statuses/:id/emoji_reactions/:emoji", EmojiReactionController, :create) end + scope "/akkoma/", Pleroma.Web.AkkomaAPI do + pipe_through(:browser) + + get("/frontend", FrontendSwitcherController, :switch) + post("/frontend", FrontendSwitcherController, :do_switch) + end + + scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do + pipe_through(:api) + + get( + "/api/v1/akkoma/preferred_frontend/available", + FrontendSettingsController, + :available_frontends + ) + + put( + "/api/v1/akkoma/preferred_frontend", + FrontendSettingsController, + :update_preferred_frontend + ) + end + scope "/api/v1/akkoma", Pleroma.Web.AkkomaAPI do pipe_through(:authenticated_api) get("/metrics", MetricsController, :show) @@ -598,7 +621,6 @@ defmodule Pleroma.Web.Router do get("/timelines/home", TimelineController, :home) get("/timelines/direct", TimelineController, :direct) get("/timelines/list/:list_id", TimelineController, :list) - get("/timelines/bubble", TimelineController, :bubble) get("/announcements", AnnouncementController, :index) post("/announcements/:id/dismiss", AnnouncementController, :mark_read) @@ -653,6 +675,7 @@ defmodule Pleroma.Web.Router do get("/timelines/public", TimelineController, :public) get("/timelines/tag/:tag", TimelineController, :hashtag) + get("/timelines/bubble", TimelineController, :bubble) get("/polls/:id", PollController, :show) diff --git a/lib/pleroma/web/streamer.ex b/lib/pleroma/web/streamer.ex index f009fbd9e..1c3848bfb 100644 --- a/lib/pleroma/web/streamer.ex +++ b/lib/pleroma/web/streamer.ex @@ -25,6 +25,7 @@ defmodule Pleroma.Web.Streamer do def registry, do: @registry @public_streams ["public", "public:local", "public:media", "public:local:media"] + @local_streams ["public:local", "public:local:media"] @user_streams ["user", "user:notification", "direct"] @doc "Expands and authorizes a stream, and registers the process for streaming." @@ -41,14 +42,37 @@ def get_topic_and_add_socket(stream, user, oauth_token, params \\ %{}) do end end + defp can_access_stream(user, oauth_token, kind) do + with {_, true} <- {:restrict?, Config.restrict_unauthenticated_access?(:timelines, kind)}, + {_, %User{id: user_id}, %Token{user_id: user_id}} <- {:user, user, oauth_token}, + {_, true} <- + {:scopes, + OAuthScopesPlug.filter_descendants(["read:statuses"], oauth_token.scopes) != []} do + true + else + {:restrict?, _} -> + true + + _ -> + false + end + end + @doc "Expand and authorizes a stream" @spec get_topic(stream :: String.t(), User.t() | nil, Token.t() | nil, Map.t()) :: {:ok, topic :: String.t()} | {:error, :bad_topic} def get_topic(stream, user, oauth_token, params \\ %{}) - # Allow all public steams. - def get_topic(stream, _user, _oauth_token, _params) when stream in @public_streams do - {:ok, stream} + # Allow all public steams if the instance allows unauthenticated access. + # Otherwise, only allow users with valid oauth tokens. + def get_topic(stream, user, oauth_token, _params) when stream in @public_streams do + kind = if stream in @local_streams, do: :local, else: :federated + + if can_access_stream(user, oauth_token, kind) do + {:ok, stream} + else + {:error, :unauthorized} + end end # Allow all hashtags streams. @@ -57,12 +81,20 @@ def get_topic("hashtag", _user, _oauth_token, %{"tag" => tag} = _params) do end # Allow remote instance streams. - def get_topic("public:remote", _user, _oauth_token, %{"instance" => instance} = _params) do - {:ok, "public:remote:" <> instance} + def get_topic("public:remote", user, oauth_token, %{"instance" => instance} = _params) do + if can_access_stream(user, oauth_token, :federated) do + {:ok, "public:remote:" <> instance} + else + {:error, :unauthorized} + end end - def get_topic("public:remote:media", _user, _oauth_token, %{"instance" => instance} = _params) do - {:ok, "public:remote:media:" <> instance} + def get_topic("public:remote:media", user, oauth_token, %{"instance" => instance} = _params) do + if can_access_stream(user, oauth_token, :federated) do + {:ok, "public:remote:media:" <> instance} + else + {:error, :unauthorized} + end end # Expand user streams. diff --git a/lib/pleroma/web/templates/akkoma_api/frontend_switcher/switch.html.eex b/lib/pleroma/web/templates/akkoma_api/frontend_switcher/switch.html.eex new file mode 100644 index 000000000..a0b0a2361 --- /dev/null +++ b/lib/pleroma/web/templates/akkoma_api/frontend_switcher/switch.html.eex @@ -0,0 +1,10 @@ +

Switch Frontend

+ +

After you submit, you will need to refresh manually to get your new frontend!

+ +<%= form_for @conn, Routes.frontend_switcher_path(@conn, :do_switch), fn f -> %> + <%= select(f, :frontend, @choices) %> + + <%= submit do: "submit" %> +<% end %> + diff --git a/lib/pleroma/web/templates/layout/embed.html.eex b/lib/pleroma/web/templates/layout/embed.html.eex index 8b905f070..49f2cdb5b 100644 --- a/lib/pleroma/web/templates/layout/embed.html.eex +++ b/lib/pleroma/web/templates/layout/embed.html.eex @@ -6,10 +6,10 @@ <%= Pleroma.Config.get([:instance, :name]) %> <%= Phoenix.HTML.raw(assigns[:meta] || "") %> - + - <%= render @view_module, @view_template, assigns %> + <%= render view_module(@conn), view_template(@conn), assigns %> diff --git a/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex b/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex index 02c421831..6730c0ecc 100644 --- a/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex +++ b/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex @@ -19,6 +19,7 @@ + diff --git a/lib/pleroma/web/views/embed_view.ex b/lib/pleroma/web/views/embed_view.ex index 81e196730..913d717be 100644 --- a/lib/pleroma/web/views/embed_view.ex +++ b/lib/pleroma/web/views/embed_view.ex @@ -15,7 +15,7 @@ defmodule Pleroma.Web.EmbedView do alias Pleroma.Web.Metadata.Utils alias Pleroma.Web.Router.Helpers - use Phoenix.HTML + import Phoenix.HTML defdelegate full_nickname(user), to: User @@ -55,10 +55,13 @@ defp activity_url(%User{local: false}, %Activity{object: %Object{data: data}}) d data["url"] || data["external_url"] || data["id"] end - defp attachments(%Activity{object: %Object{data: %{"attachment" => attachments}}}) do + defp attachments(%Activity{object: %Object{data: %{"attachment" => attachments}}}) + when is_list(attachments) do attachments end + defp attachments(_), do: [] + defp sensitive?(%Activity{object: %Object{data: %{"sensitive" => sensitive}}}) do sensitive end diff --git a/mix.exs b/mix.exs index 93184a0f9..24ee55fc8 100644 --- a/mix.exs +++ b/mix.exs @@ -4,8 +4,8 @@ defmodule Pleroma.Mixfile do def project do [ app: :pleroma, - version: version("3.5.0"), - elixir: "~> 1.12", + version: version("3.9.3"), + elixir: "~> 1.14", elixirc_paths: elixirc_paths(Mix.env()), compilers: [:phoenix] ++ Mix.compilers(), elixirc_options: [warnings_as_errors: warnings_as_errors()], @@ -190,7 +190,6 @@ defp deps do {:mfm_parser, git: "https://akkoma.dev/AkkomaGang/mfm-parser.git", ref: "912fba81152d4d572e457fd5427f9875b2bc3dbe"}, - {:poison, ">= 0.0.0"}, ## dev & test {:ex_doc, "~> 0.22", only: :dev, runtime: false}, @@ -204,7 +203,8 @@ defp deps do {:excoveralls, "0.15.1", only: :test}, {:mox, "~> 1.0", only: :test}, {:websockex, "~> 0.4.3", only: :test}, - {:dialyxir, "~> 1.0", only: [:dev], runtime: false} + {:dialyxir, "~> 1.0", only: [:dev], runtime: false}, + {:mint, "~> 1.5.1", override: true} ] ++ oauth_deps() end diff --git a/mix.lock b/mix.lock index ae78425d8..2cb91bfd7 100644 --- a/mix.lock +++ b/mix.lock @@ -5,31 +5,31 @@ "bcrypt_elixir": {:hex, :bcrypt_elixir, "2.3.1", "5114d780459a04f2b4aeef52307de23de961b69e13a5cd98a911e39fda13f420", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "42182d5f46764def15bf9af83739e3bf4ad22661b1c34fc3e88558efced07279"}, "benchee": {:hex, :benchee, "1.1.0", "f3a43817209a92a1fade36ef36b86e1052627fd8934a8b937ac9ab3a76c43062", [:mix], [{:deep_merge, "~> 1.0", [hex: :deep_merge, repo: "hexpm", optional: false]}, {:statistex, "~> 1.0", [hex: :statistex, repo: "hexpm", optional: false]}], "hexpm", "7da57d545003165a012b587077f6ba90b89210fd88074ce3c60ce239eb5e6d93"}, "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"}, - "cachex": {:hex, :cachex, "3.5.0", "f715390a9e93125980187dcd7c4036ece92d273fbd9ec009a8ffa480abdc51f8", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "fac2ebfa200dd9ffba08cdcef404426ccadfcb92281ca34f810535712d02b049"}, + "cachex": {:hex, :cachex, "3.6.0", "14a1bfbeee060dd9bec25a5b6f4e4691e3670ebda28c8ba2884b12fe30b36bf8", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"}, "calendar": {:hex, :calendar, "1.0.0", "f52073a708528482ec33d0a171954ca610fe2bd28f1e871f247dc7f1565fa807", [:mix], [{:tzdata, "~> 0.1.201603 or ~> 0.5.20 or ~> 1.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "990e9581920c82912a5ee50e62ff5ef96da6b15949a2ee4734f935fdef0f0a6f"}, "captcha": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha.git", "e0f16822d578866e186a0974d65ad58cddc1e2ab", [ref: "e0f16822d578866e186a0974d65ad58cddc1e2ab"]}, - "castore": {:hex, :castore, "0.1.20", "62a0126cbb7cb3e259257827b9190f88316eb7aa3fdac01fd6f2dfd64e7f46e9", [:mix], [], "hexpm", "a020b7650529c986c454a4035b6b13a328e288466986307bea3aadb4c95ac98a"}, + "castore": {:hex, :castore, "0.1.22", "4127549e411bedd012ca3a308dede574f43819fe9394254ca55ab4895abfa1a2", [:mix], [], "hexpm", "c17576df47eb5aa1ee40cc4134316a99f5cad3e215d5c77b8dd3cfef12a22cac"}, "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, "combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"}, "comeonin": {:hex, :comeonin, "5.3.3", "2c564dac95a35650e9b6acfe6d2952083d8a08e4a89b93a481acb552b325892e", [:mix], [], "hexpm", "3e38c9c2cb080828116597ca8807bb482618a315bfafd98c90bc22a821cc84df"}, "concurrent_limiter": {:hex, :concurrent_limiter, "0.1.1", "43ae1dc23edda1ab03dd66febc739c4ff710d047bb4d735754909f9a474ae01c", [:mix], [{:telemetry, "~> 0.3", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "53968ff238c0fbb4d7ed76ddb1af0be6f3b2f77909f6796e249e737c505a16eb"}, "connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"}, "cors_plug": {:hex, :cors_plug, "2.0.3", "316f806d10316e6d10f09473f19052d20ba0a0ce2a1d910ddf57d663dac402ae", [:mix], [{:plug, "~> 1.8", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "ee4ae1418e6ce117fc42c2ba3e6cbdca4e95ecd2fe59a05ec6884ca16d469aea"}, - "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"}, + "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.3.1", "ebd1a1d7aff97f27c66654e78ece187abdc646992714164380d8a041eda16754", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "3a6efd3366130eab84ca372cbd4a7d3c3a97bdfcfb4911233b035d117063f0af"}, - "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, + "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, "credo": {:git, "https://github.com/rrrene/credo.git", "1c1b99ea41a457761383d81aaf6a606913996fe7", [ref: "1c1b99ea41a457761383d81aaf6a606913996fe7"]}, "custom_base": {:hex, :custom_base, "0.2.1", "4a832a42ea0552299d81652aa0b1f775d462175293e99dfbe4d7dbaab785a706", [:mix], [], "hexpm", "8df019facc5ec9603e94f7270f1ac73ddf339f56ade76a721eaa57c1493ba463"}, - "db_connection": {:hex, :db_connection, "2.4.3", "3b9aac9f27347ec65b271847e6baeb4443d8474289bd18c1d6f4de655b70c94d", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c127c15b0fa6cfb32eed07465e05da6c815b032508d4ed7c116122871df73c12"}, - "decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"}, + "db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"}, + "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, "deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm", "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"}, - "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, - "earmark": {:hex, :earmark, "1.4.34", "d7f89d3bbd7567a0bffc465e0a949f8f8dcbe43909c3acf96f4761a302cea10c", [:mix], [{:earmark_parser, "~> 1.4.29", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "90b106f3dad85b133b10d7d628167c88246123fd1cecb4557d83d21ec9e65504"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, + "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, + "earmark": {:hex, :earmark, "1.4.38", "ba8fda946c259c6e8f6759d3647d448e9216e2c0afed8c6ae7f8ce1f7072a497", [:mix], [{:earmark_parser, "~> 1.4.32", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "f938e30de4167e7d8f3bf588b01dc041138278dda1e5a13fb9ec89b43dd5ec7f"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.32", "fa739a0ecfa34493de19426681b23f6814573faee95dfd4b4aafe15a7b5b32c6", [:mix], [], "hexpm", "b8b0dd77d60373e77a3d7e8afa598f325e49e8663a51bcc2b88ef41838cca755"}, "eblurhash": {:hex, :eblurhash, "1.2.2", "7da4255aaea984b31bb71155f673257353b0e0554d0d30dcf859547e74602582", [:rebar3], [], "hexpm", "8c20ca00904de023a835a9dcb7b7762fed32264c85a80c3cafa85288e405044c"}, - "ecto": {:hex, :ecto, "3.9.4", "3ee68e25dbe0c36f980f1ba5dd41ee0d3eb0873bccae8aeaf1a2647242bffa35", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "de5f988c142a3aa4ec18b85a4ec34a2390b65b24f02385c1144252ff6ff8ee75"}, + "ecto": {:hex, :ecto, "3.9.5", "9f0aa7ae44a1577b651c98791c6988cd1b69b21bc724e3fd67090b97f7604263", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d4f3115d8cbacdc0bfa4b742865459fb1371d0715515842a1fb17fe31920b74c"}, "ecto_enum": {:hex, :ecto_enum, "1.4.0", "d14b00e04b974afc69c251632d1e49594d899067ee2b376277efd8233027aec8", [:mix], [{:ecto, ">= 3.0.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "> 3.0.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:mariaex, ">= 0.0.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"}, - "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.10", "e14d400930f401ca9f541b3349212634e44027d7f919bbb71224d7ac0d0e8acd", [:mix], [{:ecto_sql, "~> 3.4", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.15.7 or ~> 0.16.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "505e8cd81e4f17c090be0f99e92b1b3f0fd915f98e76965130b8ccfb891e7088"}, + "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.11", "6e20144c1446dcccfcdb4c142c9d8b7992a90a569b1d5958cbea5458550b25f0", [:mix], [{:ecto_sql, "~> 3.4", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.15.7 or ~> 0.16.0 or ~> 0.17.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "def61f1f92d4f40d51c80bbae2157212d6c0a459eb604be446e47369cbd40b23"}, "ecto_sql": {:hex, :ecto_sql, "3.9.2", "34227501abe92dba10d9c3495ab6770e75e79b836d114c41108a4bf2ce200ad5", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9.2", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "1eb5eeb4358fdbcd42eac11c1fbd87e3affd7904e639d77903c1358b2abd3f70"}, "elasticsearch": {:git, "https://akkoma.dev/AkkomaGang/elasticsearch-elixir.git", "6cd946f75f6ab9042521a009d1d32d29a90113ca", [ref: "main"]}, "elixir_make": {:hex, :elixir_make, "0.6.3", "bc07d53221216838d79e03a8019d0839786703129599e9619f4ab74c8c096eac", [:mix], [], "hexpm", "f5cbd651c5678bcaabdbb7857658ee106b12509cd976c2c2fca99688e1daf716"}, @@ -38,7 +38,7 @@ "ex_aws": {:hex, :ex_aws, "2.1.9", "dc4865ecc20a05190a34a0ac5213e3e5e2b0a75a0c2835e923ae7bfeac5e3c31", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "3e6c776703c9076001fbe1f7c049535f042cb2afa0d2cbd3b47cbc4e92ac0d10"}, "ex_aws_s3": {:hex, :ex_aws_s3, "2.4.0", "ce8decb6b523381812798396bc0e3aaa62282e1b40520125d1f4eff4abdff0f4", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "85dda6e27754d94582869d39cba3241d9ea60b6aa4167f9c88e309dc687e56bb"}, "ex_const": {:hex, :ex_const, "0.2.4", "d06e540c9d834865b012a17407761455efa71d0ce91e5831e86881b9c9d82448", [:mix], [], "hexpm", "96fd346610cc992b8f896ed26a98be82ac4efb065a0578f334a32d60a3ba9767"}, - "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"}, + "ex_doc": {:hex, :ex_doc, "0.29.4", "6257ecbb20c7396b1fe5accd55b7b0d23f44b6aa18017b415cb4c2b91d997729", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "2c6699a737ae46cb61e4ed012af931b57b699643b24dabe2400a8168414bc4f5"}, "ex_machina": {:hex, :ex_machina, "2.7.0", "b792cc3127fd0680fecdb6299235b4727a4944a09ff0fa904cc639272cd92dc7", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"}, "ex_syslogger": {:hex, :ex_syslogger, "1.5.2", "72b6aa2d47a236e999171f2e1ec18698740f40af0bd02c8c650bf5f1fd1bac79", [:mix], [{:poison, ">= 1.5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:syslog, "~> 1.1.0", [hex: :syslog, repo: "hexpm", optional: false]}], "hexpm", "ab9fab4136dbc62651ec6f16fa4842f10cf02ab4433fa3d0976c01be99398399"}, "excoveralls": {:hex, :excoveralls, "0.15.1", "83c8cf7973dd9d1d853dce37a2fb98aaf29b564bf7d01866e409abf59dac2c0e", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8416bd90c0082d56a2178cf46c837595a06575f70a5624f164a1ffe37de07e7"}, @@ -47,7 +47,7 @@ "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, "finch": {:hex, :finch, "0.14.0", "619bfdee18fc135190bf590356c4bf5d5f71f916adb12aec94caa3fa9267a4bc", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5459acaf18c4fdb47a8c22fb3baff5d8173106217c8e56c5ba0b93e66501a8dd"}, "flake_id": {:hex, :flake_id, "0.1.0", "7716b086d2e405d09b647121a166498a0d93d1a623bead243e1f74216079ccb3", [:mix], [{:base62, "~> 1.2", [hex: :base62, repo: "hexpm", optional: false]}, {:ecto, ">= 2.0.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm", "31fc8090fde1acd267c07c36ea7365b8604055f897d3a53dd967658c691bd827"}, - "floki": {:hex, :floki, "0.34.0", "002d0cc194b48794d74711731db004fafeb328fe676976f160685262d43706a8", [:mix], [], "hexpm", "9c3a9f43f40dde00332a589bd9d389b90c1f518aef500364d00636acc5ebc99c"}, + "floki": {:hex, :floki, "0.34.2", "5fad07ef153b3b8ec110b6b155ec3780c4b2c4906297d0b4be1a7162d04a7e02", [:mix], [], "hexpm", "26b9d50f0f01796bc6be611ca815c5e0de034d2128e39cc9702eee6b66a4d1c8"}, "gen_smtp": {:hex, :gen_smtp, "0.15.0", "9f51960c17769b26833b50df0b96123605a8024738b62db747fece14eb2fbfcc", [:rebar3], [], "hexpm", "29bd14a88030980849c7ed2447b8db6d6c9278a28b11a44cafe41b791205440f"}, "gettext": {:hex, :gettext, "0.20.0", "75ad71de05f2ef56991dbae224d35c68b098dd0e26918def5bb45591d5c8d429", [:mix], [], "hexpm", "1c03b177435e93a47441d7f681a7040bd2a816ece9e2666d1c9001035121eb3d"}, "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~> 2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, @@ -58,42 +58,42 @@ "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "inet_cidr": {:hex, :inet_cidr, "1.0.4", "a05744ab7c221ca8e395c926c3919a821eb512e8f36547c062f62c4ca0cf3d6e", [:mix], [], "hexpm", "64a2d30189704ae41ca7dbdd587f5291db5d1dda1414e0774c29ffc81088c1bc"}, "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, - "joken": {:hex, :joken, "2.5.0", "09be497d804b8115eb6f07615cef2e60c2a1008fb89dc0aef0d4c4b4609b99aa", [:mix], [{:jose, "~> 1.11.2", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "22b25c89617c5ed8ca7b31026340a25ea0f9ca7160f9706b79be9ed81fdf74e7"}, + "joken": {:hex, :joken, "2.6.0", "b9dd9b6d52e3e6fcb6c65e151ad38bf4bc286382b5b6f97079c47ade6b1bcc6a", [:mix], [{:jose, "~> 1.11.5", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "5a95b05a71cd0b54abd35378aeb1d487a23a52c324fa7efdffc512b655b5aaa7"}, "jose": {:hex, :jose, "1.11.5", "3bc2d75ffa5e2c941ca93e5696b54978323191988eb8d225c2e663ddfefd515e", [:mix, :rebar3], [], "hexpm", "dcd3b215bafe02ea7c5b23dafd3eb8062a5cd8f2d904fd9caa323d37034ab384"}, "jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"}, "linkify": {:git, "https://akkoma.dev/AkkomaGang/linkify.git", "2567e2c1073fa371fd26fd66dfa5bc77b6919c16", [branch: "bugfix/line-ending-buffer"]}, "mail": {:hex, :mail, "0.2.3", "2c6bb5f8a5f74845fa50ecd0fb45ea16b164026f285f45104f1c4c078cd616d4", [:mix], [], "hexpm", "932b398fa9c69fdf290d7ff63175826e0f1e24414d5b0763bb00a2acfc6c6bf5"}, "majic": {:hex, :majic, "1.0.0", "37e50648db5f5c2ff0c9fb46454d034d11596c03683807b9fb3850676ffdaab3", [:make, :mix], [{:elixir_make, "~> 0.6.1", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "7905858f76650d49695f14ea55cd9aaaee0c6654fa391671d4cf305c275a0a9e"}, "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "meck": {:hex, :meck, "0.9.2", "85ccbab053f1db86c7ca240e9fc718170ee5bda03810a6292b5306bf31bae5f5", [:rebar3], [], "hexpm", "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mfm_parser": {:git, "https://akkoma.dev/AkkomaGang/mfm-parser.git", "912fba81152d4d572e457fd5427f9875b2bc3dbe", [ref: "912fba81152d4d572e457fd5427f9875b2bc3dbe"]}, "mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "mint": {:hex, :mint, "1.4.2", "50330223429a6e1260b2ca5415f69b0ab086141bc76dc2fbf34d7c389a6675b2", [:mix], [{:castore, "~> 0.1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "ce75a5bbcc59b4d7d8d70f8b2fc284b1751ffb35c7b6a6302b5192f8ab4ddd80"}, + "mint": {:hex, :mint, "1.5.1", "8db5239e56738552d85af398798c80648db0e90f343c8469f6c6d8898944fb6f", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "4a63e1e76a7c3956abd2c72f370a0d0aecddc3976dea5c27eccbecfa5e7d5b1e"}, "mock": {:hex, :mock, "0.3.7", "75b3bbf1466d7e486ea2052a73c6e062c6256fb429d6797999ab02fa32f29e03", [:mix], [{:meck, "~> 0.9.2", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm", "4da49a4609e41fd99b7836945c26f373623ea968cfb6282742bcb94440cf7e5c"}, "mogrify": {:hex, :mogrify, "0.9.2", "b360984adea7dd6a55f18028e6327973c58de7f548fdb86c9859848aa904d5b0", [:mix], [], "hexpm", "c18d10fd70ca20e2585301616c89f6e4f7159d92efc9cc8ee579e00c886f699d"}, "mox": {:hex, :mox, "1.0.2", "dc2057289ac478b35760ba74165b4b3f402f68803dd5aecd3bfd19c183815d64", [:mix], [], "hexpm", "f9864921b3aaf763c8741b5b8e6f908f44566f1e427b2630e89e9a73b981fef2"}, "nimble_options": {:hex, :nimble_options, "0.5.2", "42703307b924880f8c08d97719da7472673391905f528259915782bb346e0a1b", [:mix], [], "hexpm", "4da7f904b915fd71db549bcdc25f8d56f378ef7ae07dc1d372cbe72ba950dce0"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "nimble_pool": {:hex, :nimble_pool, "0.2.6", "91f2f4c357da4c4a0a548286c84a3a28004f68f05609b4534526871a22053cde", [:mix], [], "hexpm", "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"}, "oban": {:hex, :oban, "2.12.1", "f604d7e6a8be9fda4a9b0f6cebbd633deba569f85dbff70c4d25d99a6f023177", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b1844c2b74e0d788b73e5144b0c9d5674cb775eae29d88a36f3c3b48d42d058"}, - "open_api_spex": {:hex, :open_api_spex, "3.16.0", "9843af4e87550cd8ac5821b10e4c74f1d51f0d4e3310f824d780614743423b25", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 3.0 or ~> 4.0 or ~> 5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:ymlr, "~> 2.0 or ~> 3.0", [hex: :ymlr, repo: "hexpm", optional: true]}], "hexpm", "bb0be24a648b73e8fc8cbda17f514b8486262275e8b33e8b5ae66283df972129"}, + "open_api_spex": {:hex, :open_api_spex, "3.16.3", "11bc9798890073e516a97392d5846a235925e48ecbb468cb5b1cc207d5785a3e", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 3.0 or ~> 4.0 or ~> 5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:ymlr, "~> 2.0 or ~> 3.0", [hex: :ymlr, repo: "hexpm", optional: true]}], "hexpm", "1bcbe6efab88f5d001c2fc377e0bd6058180aa31b68d32962d4926e934b8ecad"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, - "phoenix": {:hex, :phoenix, "1.6.15", "0a1d96bbc10747fd83525370d691953cdb6f3ccbac61aa01b4acb012474b047d", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d70ab9fbf6b394755ea88b644d34d79d8b146e490973151f248cacd122d20672"}, + "phoenix": {:hex, :phoenix, "1.6.16", "e5bdd18c7a06da5852a25c7befb72246de4ddc289182285f8685a40b7b5f5451", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e15989ff34f670a96b95ef6d1d25bad0d9c50df5df40b671d8f4a669e050ac39"}, "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.0", "0672ed4e4808b3fbed494dded89958e22fb882de47a97634c0b13e7b0b5f7720", [:mix], [{:ecto, "~> 3.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "09864e558ed31ee00bd48fcc1d4fc58ae9678c9e81649075431e69dbabb43cc1"}, - "phoenix_html": {:hex, :phoenix_html, "3.2.0", "1c1219d4b6cb22ac72f12f73dc5fad6c7563104d083f711c3fcd8551a1f4ae11", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "36ec97ba56d25c0136ef1992c37957e4246b649d620958a1f9fa86165f8bc54f"}, + "phoenix_html": {:hex, :phoenix_html, "3.3.1", "4788757e804a30baac6b3fc9695bf5562465dd3f1da8eb8460ad5b404d9a2178", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "bed1906edd4906a15fd7b412b85b05e521e1f67c9a85418c55999277e553d0d3"}, "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.7.2", "97cc4ff2dba1ebe504db72cb45098cb8e91f11160528b980bd282cc45c73b29c", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.18.3", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "0e5fdf063c7a3b620c566a30fcf68b7ee02e5e46fe48ee46a6ec3ba382dc05b7"}, - "phoenix_live_view": {:hex, :phoenix_live_view, "0.18.6", "460c36977643d76fc8e0b6b3c4bba703c0ef21abc74233cf7dc15d1c1696832f", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ce2768fb44c3c370df13fc4f0dc70623b662a93a201d8d7d87c4ba6542bc6b73"}, + "phoenix_live_view": {:hex, :phoenix_live_view, "0.18.18", "1f38fbd7c363723f19aad1a04b5490ff3a178e37daaf6999594d5f34796c47fc", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a5810d0472f3189ede6d2a95bda7f31c6113156b91784a3426cb0ab6a6d85214"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.1", "ba04e489ef03763bf28a17eb2eaddc2c20c6d217e2150a61e3298b0f4c2012b5", [:mix], [], "hexpm", "81367c6d1eea5878ad726be80808eb5a787a23dee699f96e72b1109c57cdd8d9"}, "phoenix_swoosh": {:hex, :phoenix_swoosh, "0.3.4", "615f8f393135de7e0cbb4bd00ba238b1e0cd324b0d90efbaee613c2f02ca5e5c", [:mix], [{:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:swoosh, "~> 1.0", [hex: :swoosh, repo: "hexpm", optional: false]}], "hexpm", "3971221846232021ab5e3c7489fd62ec5bfd6a2e01cae10a317ccf6fb350571c"}, - "phoenix_template": {:hex, :phoenix_template, "1.0.0", "c57bc5044f25f007dc86ab21895688c098a9f846a8dda6bc40e2d0ddc146e38f", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "1b066f99a26fd22064c12b2600a9a6e56700f591bf7b20b418054ea38b4d4357"}, + "phoenix_template": {:hex, :phoenix_template, "1.0.1", "85f79e3ad1b0180abb43f9725973e3b8c2c3354a87245f91431eec60553ed3ef", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "157dc078f6226334c91cb32c1865bf3911686f8bcd6bcff86736f6253e6993ee"}, "phoenix_view": {:hex, :phoenix_view, "2.0.2", "6bd4d2fd595ef80d33b439ede6a19326b78f0f1d8d62b9a318e3d9c1af351098", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}], "hexpm", "a929e7230ea5c7ee0e149ffcf44ce7cf7f4b6d2bfe1752dd7c084cdff152d36f"}, - "plug": {:hex, :plug, "1.14.0", "ba4f558468f69cbd9f6b356d25443d0b796fbdc887e03fa89001384a9cac638f", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "bf020432c7d4feb7b3af16a0c2701455cbbbb95e5b6866132cb09eb0c29adc14"}, - "plug_cowboy": {:hex, :plug_cowboy, "2.6.0", "d1cf12ff96a1ca4f52207c5271a6c351a4733f413803488d75b70ccf44aebec2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "073cf20b753ce6682ed72905cd62a2d4bd9bad1bf9f7feb02a1b8e525bd94fa6"}, - "plug_crypto": {:hex, :plug_crypto, "1.2.3", "8f77d13aeb32bfd9e654cb68f0af517b371fb34c56c9f2b58fe3df1235c1251a", [:mix], [], "hexpm", "b5672099c6ad5c202c45f5a403f21a3411247f164e4a8fab056e5cd8a290f4a2"}, + "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, + "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, + "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, "plug_static_index_html": {:hex, :plug_static_index_html, "1.0.0", "840123d4d3975585133485ea86af73cb2600afd7f2a976f9f5fd8b3808e636a0", [:mix], [{:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "79fd4fcf34d110605c26560cbae8f23c603ec4158c08298bd4360fdea90bb5cf"}, "poison": {:hex, :poison, "5.0.0", "d2b54589ab4157bbb82ec2050757779bfed724463a544b6e20d79855a9e43b24", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "11dc6117c501b80c62a7594f941d043982a1bd05a1184280c0d9166eb4d8d3fc"}, "poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"}, @@ -107,7 +107,7 @@ "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "statistex": {:hex, :statistex, "1.0.0", "f3dc93f3c0c6c92e5f291704cf62b99b553253d7969e9a5fa713e5481cd858a5", [:mix], [], "hexpm", "ff9d8bee7035028ab4742ff52fc80a2aa35cece833cf5319009b52f1b5a86c27"}, "sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"}, - "swoosh": {:hex, :swoosh, "1.9.1", "0a5d7bf9954eb41d7e55525bc0940379982b090abbaef67cd8e1fd2ed7f8ca1a", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "76dffff3ffcab80f249d5937a592eaef7cc49ac6f4cdd27e622868326ed6371e"}, + "swoosh": {:hex, :swoosh, "1.10.2", "77acdc1261de404b893e24224d47459d1b42deb02577c7b31514e0a720f949d6", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "1736faf374ed49c6091845cdfd5b3a68c88c5f2bfd989447d12bffafc0dda03a"}, "syslog": {:hex, :syslog, "1.1.0", "6419a232bea84f07b56dc575225007ffe34d9fdc91abe6f1b2f254fd71d8efc2", [:rebar3], [], "hexpm", "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"}, "table_rex": {:hex, :table_rex, "3.1.1", "0c67164d1714b5e806d5067c1e96ff098ba7ae79413cc075973e17c38a587caa", [:mix], [], "hexpm", "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490"}, "telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"}, @@ -117,10 +117,10 @@ "telemetry_poller": {:hex, :telemetry_poller, "0.5.1", "21071cc2e536810bac5628b935521ff3e28f0303e770951158c73eaaa01e962a", [:rebar3], [{:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4cab72069210bc6e7a080cec9afffad1b33370149ed5d379b81c7c5f0c663fd4"}, "temple": {:git, "https://akkoma.dev/AkkomaGang/temple.git", "066a699ade472d8fa42a9d730b29a61af9bc8b59", [ref: "066a699ade472d8fa42a9d730b29a61af9bc8b59"]}, "tesla": {:hex, :tesla, "1.4.4", "bb89aa0c9745190930366f6a2ac612cdf2d0e4d7fff449861baa7875afd797b2", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:finch, "~> 0.3", [hex: :finch, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, "~> 1.3", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "d5503a49f9dec1b287567ea8712d085947e247cb11b06bc54adb05bfde466457"}, - "timex": {:hex, :timex, "3.7.9", "790cdfc4acfce434e442f98c02ea6d84d0239073bfd668968f82ac63e9a6788d", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.1", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "64691582e5bb87130f721fc709acfb70f24405833998fabf35be968984860ce1"}, + "timex": {:hex, :timex, "3.7.11", "bb95cb4eb1d06e27346325de506bcc6c30f9c6dea40d1ebe390b262fad1862d1", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.20", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.1", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "8b9024f7efbabaf9bd7aa04f65cf8dcd7c9818ca5737677c7b76acbc6a94d1aa"}, "trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"}, "tzdata": {:hex, :tzdata, "1.1.1", "20c8043476dfda8504952d00adac41c6eda23912278add38edc140ae0c5bcc46", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"}, - "ueberauth": {:hex, :ueberauth, "0.10.3", "4a3bd7ab7b5d93d301d264f0f6858392654ee92171f4437d067d1ae227c051d9", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "1394f36a6c64e97f2038cf95228e7e52b4cb75417962e30418fbe9902b30e6d3"}, + "ueberauth": {:hex, :ueberauth, "0.10.5", "806adb703df87e55b5615cf365e809f84c20c68aa8c08ff8a416a5a6644c4b02", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "3efd1f31d490a125c7ed453b926f7c31d78b97b8a854c755f5c40064bf3ac9e1"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "unsafe": {:hex, :unsafe, "1.0.1", "a27e1874f72ee49312e0a9ec2e0b27924214a05e3ddac90e91727bc76f8613d8", [:mix], [], "hexpm", "6c7729a2d214806450d29766abc2afaa7a2cbecf415be64f36a6691afebb50e5"}, "vex": {:hex, :vex, "0.9.0", "613ea5eb3055662e7178b83e25b2df0975f68c3d8bb67c1645f0573e1a78d606", [:mix], [], "hexpm", "c69fff44d5c8aa3f1faee71bba1dcab05dd36364c5a629df8bb11751240c857f"}, diff --git a/priv/gettext/ca/LC_MESSAGES/config_descriptions.po b/priv/gettext/ca/LC_MESSAGES/config_descriptions.po index 958c1ee44..136bdacbe 100644 --- a/priv/gettext/ca/LC_MESSAGES/config_descriptions.po +++ b/priv/gettext/ca/LC_MESSAGES/config_descriptions.po @@ -3,36 +3,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-07-28 09:35+0000\n" -"PO-Revision-Date: 2022-08-08 15:48+0000\n" -"Last-Translator: sola \n" -"Language-Team: Catalan \n" +"PO-Revision-Date: 2023-02-21 09:45+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.13.1\n" - -# # This file is a PO Template file. -# # -# # "msgid"s here are often extracted from source code. -# # Add new translations manually only if they're dynamic -# # translations that can't be statically extracted. -# # -# # Run "mix gettext.extract" to bring this file up to -# # date. Leave "msgstr"s empty as changing them here has no -# # effect: edit them in PO (.po) files instead. -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd" -msgid "" -"Before enabling this you must add :esshd to mix.exs as one of the " -"extra_applications and generate host keys in your priv dir with ssh-keygen -" -"m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" -msgstr "" -"Abans d'activar això has d'afegir :esshd a mix.exs com a una de les " -"extra_applications i generar les claus del hoste en el teu directori priv " -"amb ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" +"X-Generator: Weblate 4.14\n" #: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :logger" @@ -63,21 +43,11 @@ msgctxt "config description at :pleroma" msgid "Authenticator" msgstr "Autenticador" -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :quack" -msgid "Quack-related settings" -msgstr "Configuració relacionada amb Quack" - #: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :cors_plug" msgid "CORS plug config" msgstr "configuració CORS plug" -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd" -msgid "ESSHD" -msgstr "ESSHD" - #: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :logger" msgid "Logger" @@ -98,11 +68,6 @@ msgctxt "config label at :pleroma" msgid "Pleroma Authenticator" msgstr "Autenticador Akkoma" -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :quack" -msgid "Quack Logger" -msgstr "Logger Quack" - #: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :logger-:console" msgid "Console logger settings" @@ -133,11 +98,6 @@ msgctxt "config description at :pleroma-:auth" msgid "Authentication / authorization settings" msgstr "Ajustos d' autenticació / autorització" -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool" -msgid "Advanced settings for `Gun` connections pool" -msgstr "Ajustos avançats per el grup de connexions `Gun`" - #: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:email_notifications" msgid "Email notifications settings" @@ -153,34 +113,11 @@ msgctxt "config description at :pleroma-:feed" msgid "Configure feed rendering" msgstr "Configurar el renderitzat del feed" -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:frontend_configurations" -msgid "" -"This form can be used to configure a keyword list that keeps the " -"configuration data for any kind of frontend. By default, settings for " -"pleroma_fe are configured. If you want to add your own configuration your " -"settings all fields must be complete." -msgstr "" -"Aquest formulari es pot fer servir per a configurar un llistat de paraules " -"clau per a qualsevol tipus de \"frontend\". Per defecte es configuren els de " -"pleroma_fe. Si vols afegir la teva pròpia configuració i els teus ajustos, " -"tots els camps han d'estar complets." - #: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:frontends" msgid "Installed frontends management" msgstr "Gestió dels \"frontend\" instal·lats" -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:gopher" -msgid "Gopher settings" -msgstr "Configuració Gopher" - -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools" -msgid "Advanced settings for `Hackney` connections pools" -msgstr "Configuració avançada per el grup de connexions `Hackney`" - #: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:http" msgid "HTTP settings" @@ -365,12 +302,6 @@ msgctxt "config description at :pleroma-:oauth2" msgid "Configure OAuth 2 provider capabilities" msgstr "Configure OAuth 2 provider capabilities" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools" -msgid "Advanced settings for `Gun` workers pools" -msgstr "Advanced settings for `Gun` workers pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:populate_hashtags_table" @@ -387,16 +318,6 @@ msgstr "" "Rate limit settings. This is an advanced feature enabled only for :" "authentication by default." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:restrict_unauthenticated" -msgid "" -"Disallow viewing timelines, user profiles and statuses for unauthenticated " -"users." -msgstr "" -"Disallow viewing timelines, user profiles and statuses for unauthenticated " -"users." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:rich_media" @@ -407,12 +328,6 @@ msgstr "" "If enabled the instance will parse metadata from attached links to generate " "link previews" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout" -msgid "Pleroma shout settings" -msgstr "Pleroma shout settings" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:static_fe" @@ -608,13 +523,6 @@ msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Expired activities settings" msgstr "Expired activities settings" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Prometheus app metrics endpoint configuration" -msgstr "Prometheus app metrics endpoint configuration" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :web_push_encryption-:vapid_details" @@ -661,12 +569,6 @@ msgctxt "config label at :pleroma-:auth" msgid "Auth" msgstr "Auth" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool" -msgid "Connections pool" -msgstr "Connections pool" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:email_notifications" @@ -703,18 +605,6 @@ msgctxt "config label at :pleroma-:frontends" msgid "Frontends" msgstr "Frontends" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher" -msgid "Gopher" -msgstr "Gopher" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools" -msgid "Hackney pools" -msgstr "Hackney pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http" @@ -871,12 +761,6 @@ msgctxt "config label at :pleroma-:oauth2" msgid "OAuth2" msgstr "OAuth2" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools" -msgid "Pools" -msgstr "Pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:populate_hashtags_table" @@ -901,12 +785,6 @@ msgctxt "config label at :pleroma-:rich_media" msgid "Rich media" msgstr "Rich media" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout" -msgid "Shout" -msgstr "Shout" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:static_fe" @@ -1087,48 +965,12 @@ msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Pleroma.Workers.PurgeExpiredActivity" msgstr "Pleroma.Workers.PurgeExpiredActivity" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Pleroma.Web.Endpoint.MetricsExporter" -msgstr "Pleroma.Web.Endpoint.MetricsExporter" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :web_push_encryption-:vapid_details" msgid "Vapid Details" msgstr "Vapid Details" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :enabled" -msgid "Enables SSH" -msgstr "Enables SSH" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :handler" -msgid "Handler module" -msgstr "Handler module" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :password_authenticator" -msgid "Authenticator module" -msgstr "Authenticator module" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :port" -msgid "Port to connect" -msgstr "Port to connect" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :priv_dir" -msgid "Dir with SSH keys" -msgstr "Dir with SSH keys" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :ex_aws-:s3 > :access_key_id" @@ -1322,57 +1164,6 @@ msgstr "" "html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer." "html.eex`." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool > :connect_timeout" -msgid "Timeout while `gun` will wait until connection is up. Default: 5000ms." -msgstr "Timeout while `gun` will wait until connection is up. Default: 5000ms." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :" -"connection_acquisition_retries" -msgid "" -"Number of attempts to acquire the connection from the pool if it is " -"overloaded. Default: 5" -msgstr "" -"Number of attempts to acquire the connection from the pool if it is " -"overloaded. Default: 5" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :" -"connection_acquisition_wait" -msgid "" -"Timeout to acquire a connection from pool. The total max time is this value " -"multiplied by the number of retries. Default: 250ms." -msgstr "" -"Timeout to acquire a connection from pool. The total max time is this value " -"multiplied by the number of retries. Default: 250ms." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool > :max_connections" -msgid "Maximum number of connections in the pool. Default: 250 connections." -msgstr "Maximum number of connections in the pool. Default: 250 connections." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "" -"Multiplier for the number of idle connection to be reclaimed if the pool is " -"full. For example if the pool maxes out at 250 connections and this setting " -"is set to 0.3, the pool will reclaim at most 75 idle connections if it's " -"overloaded. Default: 0.1" -msgstr "" -"Multiplier for the number of idle connection to be reclaimed if the pool is " -"full. For example if the pool maxes out at 250 connections and this setting " -"is set to 0.3, the pool will reclaim at most 75 idle connections if it's " -"overloaded. Default: 0.1" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:email_notifications > :digest" @@ -1554,14 +1345,6 @@ msgctxt "" msgid "Hide notices statistics (repeats, favorites, ...)" msgstr "Hide notices statistics (repeats, favorites, ...)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" -"hideSitename" -msgid "Hides instance name from PleromaFE banner" -msgstr "Hides instance name from PleromaFE banner" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -1607,18 +1390,6 @@ msgstr "" "compatible with both light and dark themes. If you want a colorful logo you " "must disable logoMask." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" -"minimalScopesMode" -msgid "" -"Limit scope selection to Direct, User default, and Scope of post replying " -"to. Also prevents replying to a DM with a public post from PleromaFE." -msgstr "" -"Limit scope selection to Direct, User default, and Scope of post replying " -"to. Also prevents replying to a DM with a public post from PleromaFE." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -1818,89 +1589,6 @@ msgstr "" "Reference of the installed frontend to be used. Valid config must include " "both `Name` and `Reference` values." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :dstport" -msgid "Port advertised in URLs (optional, defaults to port)" -msgstr "Port advertised in URLs (optional, defaults to port)" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :enabled" -msgid "Enables the gopher interface" -msgstr "Enables the gopher interface" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :ip" -msgid "IP address to bind to" -msgstr "IP address to bind to" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :port" -msgid "Port to bind to" -msgstr "Port to bind to" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :federation" -msgid "Settings for federation pool." -msgstr "Settings for federation pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :federation > :" -"max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :media" -msgid "Settings for media pool." -msgstr "Settings for media pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :upload" -msgid "Settings for upload pool." -msgstr "Settings for upload pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http > :adapter" @@ -1920,12 +1608,6 @@ msgctxt "" msgid "List of TLS version to use" msgstr "List of TLS version to use" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:http > :proxy_url" -msgid "Proxy URL" -msgstr "Proxy URL" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http > :user_agent" @@ -2052,22 +1734,6 @@ msgctxt "config description at :pleroma-:instance > :banner_upload_limit" msgid "File size limit of user's profile banners" msgstr "File size limit of user's profile banners" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :birthday_min_age" -msgid "" -"Minimum required age for users to create account. Only used if birthday is " -"required." -msgstr "" -"Minimum required age for users to create account. Only used if birthday is " -"required." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :birthday_required" -msgid "Require users to enter their birthday." -msgstr "Require users to enter their birthday." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :cleanup_attachments" @@ -2149,12 +1815,6 @@ msgstr "" "Timeout (in days) of each external federation target being unreachable prior " "to pausing federating to it" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :healthcheck" -msgid "If enabled, system data will be shown on `/api/pleroma/healthcheck`" -msgstr "If enabled, system data will be shown on `/api/pleroma/healthcheck`" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :instance_thumbnail" @@ -2199,19 +1859,6 @@ msgctxt "config description at :pleroma-:instance > :max_account_fields" msgid "The maximum number of custom fields in the user profile. Default: 10." msgstr "The maximum number of custom fields in the user profile. Default: 10." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :max_endorsed_users" -msgid "The maximum number of recommended accounts. 0 will disable the feature." -msgstr "" -"The maximum number of recommended accounts. 0 will disable the feature." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :max_media_attachments" -msgid "Maximum number of post media attachments" -msgstr "Maximum number of post media attachments" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :max_pinned_statuses" @@ -2345,48 +1992,12 @@ msgctxt "" msgid "Minimum expiration time (in seconds)" msgstr "Minimum expiration time (in seconds)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :privileged_staff" -msgid "" -"Let moderators access sensitive data (e.g. updating user credentials, get " -"password reset token, delete users, index and read private statuses and " -"chats)" -msgstr "" -"Let moderators access sensitive data (e.g. updating user credentials, get " -"password reset token, delete users, index and read private statuses and " -"chats)" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :profile_directory" msgid "Enable profile directory." msgstr "Enable profile directory." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :public" -msgid "" -"Makes the client API in authenticated mode-only except for user-profiles. " -"Useful for disabling the Local Timeline and The Whole Known Network. Note: " -"when setting to `false`, please also check `:restrict_unauthenticated` " -"setting." -msgstr "" -"Makes the client API in authenticated mode-only except for user-profiles. " -"Useful for disabling the Local Timeline and The Whole Known Network. Note: " -"when setting to `false`, please also check `:restrict_unauthenticated` " -"setting." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :quarantined_instances" -msgid "" -"List of ActivityPub instances where private (DMs, followers-only) activities " -"will not be sent and the reason for doing so" -msgstr "" -"List of ActivityPub instances where private (DMs, followers-only) activities " -"will not be sent and the reason for doing so" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -2563,24 +2174,12 @@ msgctxt "config description at :pleroma-:majic_pool > :size" msgid "Number of majic workers to start." msgstr "Number of majic workers to start." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:manifest > :background_color" -msgid "Describe the background color of the app" -msgstr "Describe the background color of the app" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:manifest > :icons" msgid "Describe the icons of the app" msgstr "Describe the icons of the app" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:manifest > :theme_color" -msgid "Describe the theme color of the app" -msgstr "Describe the theme color of the app" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:markup > :scrub_policy" @@ -3078,126 +2677,6 @@ msgctxt "config description at :pleroma-:oauth2 > :token_expires_in" msgid "The lifetime in seconds of the access token" msgstr "The lifetime in seconds of the access token" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default" -msgid "Settings for default pool." -msgstr "Settings for default pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation" -msgid "Settings for federation pool." -msgstr "Settings for federation pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media" -msgid "Settings for media pool." -msgstr "Settings for media pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload" -msgid "Settings for upload pool." -msgstr "Settings for upload pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -3281,72 +2760,18 @@ msgctxt "config description at :pleroma-:rate_limit > :timeline" msgid "For requests to timelines (each timeline has it's own limiter)" msgstr "For requests to timelines (each timeline has it's own limiter)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities" -msgid "Settings for statuses." -msgstr "Settings for statuses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities > :" -"local" -msgid "Disallow view local statuses." -msgstr "Disallow view local statuses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities > :" -"remote" -msgid "Disallow view remote statuses." -msgstr "Disallow view remote statuses." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles" msgid "Settings for user profiles." msgstr "Settings for user profiles." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :profiles > :local" -msgid "Disallow view local user profiles." -msgstr "Disallow view local user profiles." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :profiles > :" -"remote" -msgid "Disallow view remote user profiles." -msgstr "Disallow view remote user profiles." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines" msgid "Settings for public and federated timelines." msgstr "Settings for public and federated timelines." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :timelines > :" -"federated" -msgid "Disallow view federated timeline." -msgstr "Disallow view federated timeline." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :timelines > :" -"local" -msgid "Disallow view public timeline." -msgstr "Disallow view public timeline." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:rich_media > :enabled" @@ -3399,18 +2824,6 @@ msgstr "" "`Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need " "to use full name." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout > :enabled" -msgid "Enables the backend Shoutbox chat feature." -msgstr "Enables the backend Shoutbox chat feature." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout > :limit" -msgid "Shout message character limit." -msgstr "Shout message character limit." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:static_fe > :enabled" @@ -3454,26 +2867,6 @@ msgid "" msgstr "" "Activity pub routes (question activities). Default: `30_000` (30 seconds)." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enables sending a chat message to newly registered users" -msgstr "Enables sending a chat message to newly registered users" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:welcome > :chat_message > :message" -msgid "A message that will be sent to newly registered users as a chat message" -msgstr "" -"A message that will be sent to newly registered users as a chat message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "The nickname of the local user that sends a welcome chat message" -msgstr "The nickname of the local user that sends a welcome chat message" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:welcome > :direct_message > :enabled" @@ -4150,64 +3543,6 @@ msgctxt "" msgid "Minimum lifetime for ephemeral activity (in seconds)" msgstr "Minimum lifetime for ephemeral activity (in seconds)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"auth" -msgid "Enables HTTP Basic Auth for app metrics endpoint." -msgstr "Enables HTTP Basic Auth for app metrics endpoint." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"enabled" -msgid "[Pleroma extension] Enables app metrics endpoint." -msgstr "[Pleroma extension] Enables app metrics endpoint." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"format" -msgid "App metrics endpoint output format." -msgstr "App metrics endpoint output format." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"ip_whitelist" -msgid "Restrict access of app metrics endpoint to the specified IP addresses." -msgstr "Restrict access of app metrics endpoint to the specified IP addresses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"path" -msgid "App metrics endpoint URI path." -msgstr "App metrics endpoint URI path." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :level" -msgid "Log level" -msgstr "Log level" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :meta" -msgid "Configure which metadata you want to report on" -msgstr "Configure which metadata you want to report on" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :webhook_url" -msgid "Configure the Slack incoming webhook" -msgstr "Configure the Slack incoming webhook" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4264,36 +3599,6 @@ msgctxt "config label at :cors_plug > :methods" msgid "Methods" msgstr "Methods" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :handler" -msgid "Handler" -msgstr "Handler" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :password_authenticator" -msgid "Password authenticator" -msgstr "Password authenticator" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :port" -msgid "Port" -msgstr "Port" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :priv_dir" -msgid "Priv dir" -msgstr "Priv dir" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :ex_aws-:s3 > :access_key_id" @@ -4492,38 +3797,6 @@ msgctxt "config label at :pleroma-:auth > :oauth_consumer_template" msgid "OAuth consumer template" msgstr "OAuth consumer template" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" -msgid "Connect timeout" -msgstr "Connect timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:connections_pool > :connection_acquisition_retries" -msgid "Connection acquisition retries" -msgstr "Connection acquisition retries" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:connections_pool > :connection_acquisition_wait" -msgid "Connection acquisition wait" -msgstr "Connection acquisition wait" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "Reclaim multiplier" -msgstr "Reclaim multiplier" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:email_notifications > :digest" @@ -4670,14 +3943,6 @@ msgctxt "" msgid "Hide post stats" msgstr "Hide post stats" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" -"hideSitename" -msgid "Hide Sitename" -msgstr "Hide Sitename" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4707,14 +3972,6 @@ msgctxt "" msgid "Logo mask" msgstr "Logo mask" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" -"minimalScopesMode" -msgid "Minimal scopes mode" -msgstr "Minimal scopes mode" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4872,85 +4129,6 @@ msgctxt "config label at :pleroma-:frontends > :primary > ref" msgid "Reference" msgstr "Reference" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :dstport" -msgid "Dstport" -msgstr "Dstport" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :ip" -msgid "IP" -msgstr "IP" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :port" -msgid "Port" -msgstr "Port" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :federation" -msgid "Federation" -msgstr "Federation" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:hackney_pools > :federation > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout" -msgstr "Timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media" -msgid "Media" -msgstr "Media" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout" -msgstr "Timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload" -msgid "Upload" -msgstr "Upload" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout" -msgstr "Timeout" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http > :adapter" @@ -4975,12 +4153,6 @@ msgctxt "config label at :pleroma-:http > :proxy_url" msgid "Proxy URL" msgstr "Proxy URL" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:http > :send_user_agent" -msgid "Send user agent" -msgstr "Send user agent" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http > :user_agent" @@ -5089,18 +4261,6 @@ msgctxt "config label at :pleroma-:instance > :banner_upload_limit" msgid "Banner upload limit" msgstr "Banner upload limit" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :birthday_min_age" -msgid "Birthday min age" -msgstr "Birthday min age" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :birthday_required" -msgid "Birthday required" -msgstr "Birthday required" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:instance > :cleanup_attachments" @@ -5187,18 +4347,6 @@ msgctxt "config label at :pleroma-:instance > :max_account_fields" msgid "Max account fields" msgstr "Max account fields" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :max_endorsed_users" -msgid "Max endorsed users" -msgstr "Max endorsed users" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :max_media_attachments" -msgid "Max media attachments" -msgstr "Max media attachments" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:instance > :max_pinned_statuses" @@ -5867,102 +5015,6 @@ msgctxt "config label at :pleroma-:oauth2 > :token_expires_in" msgid "Token expires in" msgstr "Token expires in" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default" -msgid "Default" -msgstr "Default" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation" -msgid "Federation" -msgstr "Federation" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media" -msgid "Media" -msgstr "Media" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload" -msgid "Upload" -msgstr "Upload" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :size" -msgid "Size" -msgstr "Size" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -6121,18 +5173,6 @@ msgctxt "config label at :pleroma-:rich_media > :ttl_setters" msgid "TTL setters" msgstr "TTL setters" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout > :limit" -msgid "Limit" -msgstr "Limit" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:static_fe > :enabled" @@ -6175,30 +5215,6 @@ msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub_question" msgid "Activity pub question" msgstr "Activity pub question" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message" -msgid "Chat message" -msgstr "Chat message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :message" -msgid "Message" -msgstr "Message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "Sender nickname" -msgstr "Sender nickname" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:welcome > :direct_message" @@ -6975,60 +5991,6 @@ msgctxt "" msgid "Min lifetime" msgstr "Min lifetime" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" -msgid "Auth" -msgstr "Auth" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" -msgid "Format" -msgstr "Format" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"ip_whitelist" -msgid "IP Whitelist" -msgstr "IP Whitelist" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" -msgid "Path" -msgstr "Path" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :level" -msgid "Level" -msgstr "Level" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :meta" -msgid "Meta" -msgstr "Meta" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :webhook_url" -msgid "Webhook URL" -msgstr "Webhook URL" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :web_push_encryption-:vapid_details > :private_key" @@ -7047,20 +6009,6 @@ msgctxt "config label at :web_push_encryption-:vapid_details > :subject" msgid "Subject" msgstr "Subject" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" -msgid "Require HTTP signatures for AP fetches" -msgstr "Require HTTP signatures for AP fetches" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :short_description" -msgid "" -"Shorter version of instance description. It can be seen on `/api/v1/instance`" -msgstr "" -"Shorter version of instance description. It can be seen on `/api/v1/instance`" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:activitypub > :authorized_fetch_mode" @@ -7069,6 +6017,1856 @@ msgstr "Authorized fetch mode" #: lib/pleroma/docs/translator.ex:5 #, fuzzy -msgctxt "config label at :pleroma-:instance > :short_description" -msgid "Short description" -msgstr "Short description" +msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" +msgid "Require HTTP signatures on AP fetches" +msgstr "Require HTTP signatures for AP fetches" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:activitypub > :max_collection_objects" +msgid "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." +msgstr "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate" +msgid "ArgosTranslate Settings." +msgstr "Preload-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:argos_translate > :command_argos_translate" +msgid "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." +msgstr "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :command_argospm" +msgid "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." +msgstr "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :strip_html" +msgid "Strip html from the post before translating it." +msgstr "Strip html from the post before translating it." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl" +msgid "DeepL Settings." +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl > :api_key" +msgid "API key for DeepL" +msgstr "API key for DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl > :tier" +msgid "API Tier" +msgstr "API Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +#| msgctxt "config description at :pleroma-:frontend_configurations" +#| msgid "" +#| "This form can be used to configure a keyword list that keeps the " +#| "configuration data for any kind of frontend. By default, settings for " +#| "pleroma_fe are configured. If you want to add your own configuration your " +#| "settings all fields must be complete." +msgctxt "config description at :pleroma-:frontend_configurations" +msgid "" +"This form can be used to configure a keyword list that keeps the " +"configuration data for any kind of frontend. By default, settings for " +"pleroma_fe and masto_fe are configured. If you want to add your own " +"configuration your settings all fields must be complete." +msgstr "" +"Aquest formulari es pot fer servir per a configurar un llistat de paraules " +"clau per a qualsevol tipus de \"frontend\". Per defecte es configuren els de " +"pleroma_fe. Si vols afegir la teva pròpia configuració i els teus ajustos, " +"tots els camps han d'estar complets." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe" +msgid "Settings for Masto FE" +msgstr "Settings for Pleroma FE" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :masto_fe > :" +"showInstanceSpecificPanel" +msgid "Whenether to show the instance's specific panel" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"conversationDisplay" +msgid "How to display conversations (linear or tree)" +msgstr "How to display conversations (linear or tree)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteFavicon" +msgid "Whether to hide the instance favicon from the navbar" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteName" +msgid "Whether to hide the site name from the navbar" +msgstr "Whether to hide the site name from the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"renderMisskeyMarkdown" +msgid "Whether to render Misskey-flavoured markdown" +msgstr "Whether to render Misskey-flavoured markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showNavShortcuts" +msgid "Whether to put extra navigation options on the navbar" +msgstr "Whether to put extra navigation options on the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showPanelNavShortcuts" +msgid "Whether to put timeline nav tabs on the top of the panel" +msgstr "Whether to put timeline nav tabs on the top of the panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showWiderShortcuts" +msgid "Whether to add extra space between navbar icons" +msgstr "Whether to add extra space between navbar icons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"stopGifs" +msgid "Whether to pause animated images until they're hovered on" +msgstr "Whether to pause animated images until they're hovered on" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon" +msgid "Mastodon frontend" +msgstr "Admin frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > name" +msgid "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > ref" +msgid "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger" +msgid "Swagger API reference frontend" +msgstr "Swagger API reference frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > enabled" +msgid "Whether to have this enabled at all" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > name" +msgid "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > ref" +msgid "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :pool_size" +msgid "Number of concurrent outbound HTTP requests to allow. Default 50." +msgstr "Number of concurrent outbound HTTP requests to allow. Default 50." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :pool_timeout" +msgid "Timeout for initiating HTTP requests (in ms, default 5000)" +msgstr "Timeout for initiating HTTP requests (in ms, default 5000)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :proxy_url" +msgid "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." +msgstr "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :receive_timeout" +msgid "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" +msgstr "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :export_prometheus_metrics" +msgid "Enable prometheus metrics (at /api/v1/akkoma/metrics)" +msgstr "Enable prometheus metrics (at /api/v1/akkoma/metrics)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :languages" +msgid "Languages the instance uses" +msgstr "Name of the instance" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :local_bubble" +msgid "" +"List of instances that make up your local bubble (closely-related " +"instances). Used to populate the 'bubble' timeline (domain only)." +msgstr "" +"List of instances that make up your local bubble (closely-related instances)" +". Used to populate the 'bubble' timeline (domain only)." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :privileged_staff" +msgid "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses)" +msgstr "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses and " +"chats)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :public" +msgid "" +"Switching this on will allow unauthenticated users access to all public " +"resources on your instance Switching it off is useful for disabling the " +"Local Timeline and The Whole Known Network. Note: when setting to `false`, " +"please also check `:restrict_unauthenticated` setting." +msgstr "" +"Makes the client API in authenticated mode-only except for user-profiles. " +"Useful for disabling the Local Timeline and The Whole Known Network. Note: " +"when setting to `false`, please also check `:restrict_unauthenticated` " +"setting." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :quarantined_instances" +msgid "" +"(Deprecated, will be removed in next release) List of ActivityPub instances " +"where activities will not be sent, and the reason for doing so" +msgstr "" +"List of ActivityPub instances where private (DMs, followers-only) activities " +"will not be sent and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +#| msgctxt "config description at :pleroma-:instances_favicons" +#| msgid "Control favicons for instances" +msgctxt "config description at :pleroma-:instances_nodeinfo" +msgid "Control favicons for instances" +msgstr "Control dels favicons per instàncies" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo > :enabled" +msgid "Allow/disallow getting instance nodeinfo" +msgstr "Allow/disallow displaying and getting instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +#| msgctxt "config description at :logger" +#| msgid "Logger-related settings" +msgctxt "config description at :pleroma-:libre_translate" +msgid "LibreTranslate Settings." +msgstr "Configuració relacionada amb el registrador(Log)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :api_key" +msgid "API key for libretranslate" +msgstr "API key for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :url" +msgid "URL for libretranslate" +msgstr "URL for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:manifest > :background_color" +msgid "" +"Describe the background color of the app - this is only used for mastodon-fe" +msgstr "Describe the background color of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:manifest > :theme_color" +msgid "Describe the theme color of the app - this is only used for mastodon-fe" +msgstr "Describe the theme color of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." +msgstr "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote" +msgid "Force quote post URLs inline" +msgstr "Force quote post URLs inline" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix before the link" +msgstr "Prefix before the link" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :handle_threads" +msgid "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" +msgstr "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated" +msgid "" +"Disallow unauthenticated viewing of timelines, user profiles and statuses." +msgstr "" +"Disallow viewing timelines, user profiles and statuses for unauthenticated " +"users." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities" +msgid "Settings for posts." +msgstr "Settings for statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities > :" +"local" +msgid "Disallow viewing local posts." +msgstr "Disallow view local statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities > :" +"remote" +msgid "Disallow viewing remote posts." +msgstr "Disallow view remote statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :profiles > :local" +msgid "Disallow viewing local user profiles." +msgstr "Disallow view local user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :profiles > :" +"remote" +msgid "Disallow viewing remote user profiles." +msgstr "Disallow view remote user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :timelines > :" +"federated" +msgid "Disallow viewing the whole known network timeline." +msgstr "Disallow view federated timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :timelines > :" +"local" +msgid "Disallow viewing the public timeline." +msgstr "Disallow view public timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator" +msgid "Translation Settings" +msgstr "Invalidation script settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator > :enabled" +msgid "Is translation enabled?" +msgstr "Streaming enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator > :module" +msgid "Translation module." +msgstr "Handler module" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:workers > :timeout" +msgid "Timeout for jobs, per `Oban` queue, in ms" +msgstr "Max retry attempts for failed jobs, per `Oban` queue" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search" +msgid "General search settings." +msgstr "General MRF settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search > :module" +msgid "Selected search module." +msgstr "Rejected shortcodes" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch settings." +msgstr "Email template settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" +msgstr "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes" +msgid "The indices to set up in Elasticsearch" +msgstr "The indices to set up in Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities" +msgid "Config for the index to use for activities" +msgstr "Config for the index to use for activities" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :bulk_page_size" +msgid "Size for bulk put requests, mostly used on building the index" +msgstr "Size for bulk put requests, mostly used on building the index" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :bulk_wait_interval" +msgid "Time to wait between bulk put requests (in ms)" +msgstr "Time to wait between bulk put requests (in ms)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :settings" +msgid "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." +msgstr "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :sources" +msgid "The internal types to use for this index" +msgstr "The internal types to use for this index" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :store" +msgid "The internal store module" +msgstr "Authenticator module" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"json_library" +msgid "" +"The JSON module used to encode/decode when communicating with Elasticsearch" +msgstr "" +"The JSON module used to encode/decode when communicating with Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"password" +msgid "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Elasticsearch URL." +msgstr "Elasticsearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"username" +msgid "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch" +msgid "Meilisearch settings." +msgstr "Mailer-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Meilisearch > :" +"initial_indexing_chunk_size" +msgid "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" +msgstr "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." +msgstr "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Meilisearch URL." +msgstr "Meilisearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "" +"Specific provider to hand out themes to instances that scrape index.html" +msgstr "" +"Specific provider to hand out themes to instances that scrape index.html" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :" +"theme_color" +msgid "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" +msgstr "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:activitypub > :max_collection_objects" +msgid "Max collection objects" +msgstr "Max connections" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate" +msgid "Argos translate" +msgstr "Argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argos_translate" +msgid "Command argos translate" +msgstr "Command argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argospm" +msgid "Command argospm" +msgstr "Cmd args" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :strip_html" +msgid "Strip html" +msgstr "Strict" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl" +msgid "DeepL" +msgstr "DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl > :api_key" +msgid "Api key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl > :tier" +msgid "Tier" +msgstr "Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe" +msgid "Masto FE" +msgstr "Masto FE" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :masto_fe > :" +"showInstanceSpecificPanel" +msgid "Show instance specific panel" +msgstr "Show instance specific panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"conversationDisplay" +msgid "Conversation display style" +msgstr "Conversation display style" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteFavicon" +msgid "Hide site favicon" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteName" +msgid "Hide site name" +msgstr "Hide Sitename" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"renderMisskeyMarkdown" +msgid "Render misskey markdown" +msgstr "Render misskey markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showNavShortcuts" +msgid "Show navbar shortcuts" +msgstr "Show navbar shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showPanelNavShortcuts" +msgid "Show timeline panel nav shortcuts" +msgstr "Show timeline panel nav shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showWiderShortcuts" +msgid "Increase navbar shortcut spacing" +msgstr "Increase navbar shortcut spacing" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Stop Gifs" +msgstr "Stop Gifs" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon" +msgid "Mastodon" +msgstr "Mastodon" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +#| msgctxt "config label at :logger" +#| msgid "Logger" +msgctxt "config label at :pleroma-:frontends > :swagger" +msgid "Swagger" +msgstr "Logger" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :pool_size" +msgid "Pool size" +msgstr "Pools" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :pool_timeout" +msgid "HTTP Pool Request Timeout" +msgstr "HTTP Pool Request Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :receive_timeout" +msgid "HTTP Receive Timeout" +msgstr "Recv timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :export_prometheus_metrics" +msgid "Export prometheus metrics" +msgstr "Export prometheus metrics" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :languages" +msgid "Languages" +msgstr "Languages" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :local_bubble" +msgid "Local bubble" +msgstr "Local bubble" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo" +msgid "Instances nodeinfo" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate" +msgid "Libre translate" +msgstr "Libre translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :api_key" +msgid "Api key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "MRF domain obfuscation" +msgstr "MRF domain obfuscation" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote" +msgid "MRF Inline Quote" +msgstr "MRF Inline Quote" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix" +msgstr "Prefix" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :handle_threads" +msgid "Apply to entire threads" +msgstr "Apply to entire threads" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator" +msgid "Translator" +msgstr "Translator" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator > :module" +msgid "Module" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:workers > :timeout" +msgid "Timeout" +msgstr "Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search" +msgid "Search" +msgstr "Search" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search > :module" +msgid "Module" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch" +msgstr "Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "Api" +msgstr "Api" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "Indexes" +msgstr "Indexes" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities" +msgid "Activities" +msgstr "Activities" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :bulk_page_size" +msgid "Bulk page size" +msgstr "Bulk page size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :bulk_wait_interval" +msgid "Bulk wait interval" +msgstr "Bulk wait interval" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :settings" +msgid "Settings" +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :sources" +msgid "Sources" +msgstr "Sources" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :store" +msgid "Store" +msgstr "Store" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "Json library" +msgstr "Json library" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password" +msgstr "Password" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username" +msgstr "Username" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch" +msgid "Pleroma.Search.Meilisearch" +msgstr "Pleroma.Emails.Mailer" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Meilisearch > :" +"initial_indexing_chunk_size" +msgid "Initial indexing chunk size" +msgstr "Initial indexing chunk size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key" +msgstr "Private key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Pleroma.Web.Metadata.Providers.Theme" +msgstr "Pleroma.Web.Metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "Theme color" +msgstr "Theme color" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :healthcheck" +msgid "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" +msgstr "If enabled, system data will be shown on `/api/pleroma/healthcheck`" + +# # This file is a PO Template file. +# # +# # "msgid"s here are often extracted from source code. +# # Add new translations manually only if they're dynamic +# # translations that can't be statically extracted. +# # +# # Run "mix gettext.extract" to bring this file up to +# # date. Leave "msgstr"s empty as changing them here has no +# # effect: edit them in PO (.po) files instead. +#~ msgctxt "config description at :esshd" +#~ msgid "" +#~ "Before enabling this you must add :esshd to mix.exs as one of the " +#~ "extra_applications and generate host keys in your priv dir with ssh-" +#~ "keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" +#~ msgstr "" +#~ "Abans d'activar això has d'afegir :esshd a mix.exs com a una de les " +#~ "extra_applications i generar les claus del hoste en el teu directori priv " +#~ "amb ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" + +#~ msgctxt "config description at :quack" +#~ msgid "Quack-related settings" +#~ msgstr "Configuració relacionada amb Quack" + +#~ msgctxt "config label at :esshd" +#~ msgid "ESSHD" +#~ msgstr "ESSHD" + +#~ msgctxt "config label at :quack" +#~ msgid "Quack Logger" +#~ msgstr "Logger Quack" + +#~ msgctxt "config description at :pleroma-:connections_pool" +#~ msgid "Advanced settings for `Gun` connections pool" +#~ msgstr "Ajustos avançats per el grup de connexions `Gun`" + +#~ msgctxt "config description at :pleroma-:gopher" +#~ msgid "Gopher settings" +#~ msgstr "Configuració Gopher" + +#~ msgctxt "config description at :pleroma-:hackney_pools" +#~ msgid "Advanced settings for `Hackney` connections pools" +#~ msgstr "Configuració avançada per el grup de connexions `Hackney`" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools" +#~ msgid "Advanced settings for `Gun` workers pools" +#~ msgstr "Advanced settings for `Gun` workers pools" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout" +#~ msgid "Pleroma shout settings" +#~ msgstr "Pleroma shout settings" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" +#~ msgid "Prometheus app metrics endpoint configuration" +#~ msgstr "Prometheus app metrics endpoint configuration" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool" +#~ msgid "Connections pool" +#~ msgstr "Connections pool" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher" +#~ msgid "Gopher" +#~ msgstr "Gopher" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools" +#~ msgid "Hackney pools" +#~ msgstr "Hackney pools" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout" +#~ msgid "Shout" +#~ msgstr "Shout" + +#, fuzzy +#~ msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" +#~ msgid "Pleroma.Web.Endpoint.MetricsExporter" +#~ msgstr "Pleroma.Web.Endpoint.MetricsExporter" + +#, fuzzy +#~ msgctxt "config description at :esshd > :enabled" +#~ msgid "Enables SSH" +#~ msgstr "Enables SSH" + +#, fuzzy +#~ msgctxt "config description at :esshd > :port" +#~ msgid "Port to connect" +#~ msgstr "Port to connect" + +#, fuzzy +#~ msgctxt "config description at :esshd > :priv_dir" +#~ msgid "Dir with SSH keys" +#~ msgstr "Dir with SSH keys" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :connect_timeout" +#~ msgid "" +#~ "Timeout while `gun` will wait until connection is up. Default: 5000ms." +#~ msgstr "" +#~ "Timeout while `gun` will wait until connection is up. Default: 5000ms." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :" +#~ "connection_acquisition_retries" +#~ msgid "" +#~ "Number of attempts to acquire the connection from the pool if it is " +#~ "overloaded. Default: 5" +#~ msgstr "" +#~ "Number of attempts to acquire the connection from the pool if it is " +#~ "overloaded. Default: 5" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :" +#~ "connection_acquisition_wait" +#~ msgid "" +#~ "Timeout to acquire a connection from pool. The total max time is this " +#~ "value multiplied by the number of retries. Default: 250ms." +#~ msgstr "" +#~ "Timeout to acquire a connection from pool. The total max time is this " +#~ "value multiplied by the number of retries. Default: 250ms." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :max_connections" +#~ msgid "Maximum number of connections in the pool. Default: 250 connections." +#~ msgstr "" +#~ "Maximum number of connections in the pool. Default: 250 connections." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :reclaim_multiplier" +#~ msgid "" +#~ "Multiplier for the number of idle connection to be reclaimed if the pool " +#~ "is full. For example if the pool maxes out at 250 connections and this " +#~ "setting is set to 0.3, the pool will reclaim at most 75 idle connections " +#~ "if it's overloaded. Default: 0.1" +#~ msgstr "" +#~ "Multiplier for the number of idle connection to be reclaimed if the pool " +#~ "is full. For example if the pool maxes out at 250 connections and this " +#~ "setting is set to 0.3, the pool will reclaim at most 75 idle connections " +#~ "if it's overloaded. Default: 0.1" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "hideSitename" +#~ msgid "Hides instance name from PleromaFE banner" +#~ msgstr "Hides instance name from PleromaFE banner" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "minimalScopesMode" +#~ msgid "" +#~ "Limit scope selection to Direct, User default, and Scope of post replying " +#~ "to. Also prevents replying to a DM with a public post from PleromaFE." +#~ msgstr "" +#~ "Limit scope selection to Direct, User default, and Scope of post replying " +#~ "to. Also prevents replying to a DM with a public post from PleromaFE." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :dstport" +#~ msgid "Port advertised in URLs (optional, defaults to port)" +#~ msgstr "Port advertised in URLs (optional, defaults to port)" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :enabled" +#~ msgid "Enables the gopher interface" +#~ msgstr "Enables the gopher interface" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :ip" +#~ msgid "IP address to bind to" +#~ msgstr "IP address to bind to" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :port" +#~ msgid "Port to bind to" +#~ msgstr "Port to bind to" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :federation" +#~ msgid "Settings for federation pool." +#~ msgstr "Settings for federation pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :federation > :" +#~ "max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :federation > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :media" +#~ msgid "Settings for media pool." +#~ msgstr "Settings for media pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :media > :max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :upload" +#~ msgid "Settings for upload pool." +#~ msgstr "Settings for upload pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :upload > :max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:http > :proxy_url" +#~ msgid "Proxy URL" +#~ msgstr "Proxy URL" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :birthday_min_age" +#~ msgid "" +#~ "Minimum required age for users to create account. Only used if birthday " +#~ "is required." +#~ msgstr "" +#~ "Minimum required age for users to create account. Only used if birthday " +#~ "is required." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :birthday_required" +#~ msgid "Require users to enter their birthday." +#~ msgstr "Require users to enter their birthday." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :max_endorsed_users" +#~ msgid "" +#~ "The maximum number of recommended accounts. 0 will disable the feature." +#~ msgstr "" +#~ "The maximum number of recommended accounts. 0 will disable the feature." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :max_media_attachments" +#~ msgid "Maximum number of post media attachments" +#~ msgstr "Maximum number of post media attachments" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default" +#~ msgid "Settings for default pool." +#~ msgstr "Settings for default pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation" +#~ msgid "Settings for federation pool." +#~ msgstr "Settings for federation pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:pools > :federation > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media" +#~ msgid "Settings for media pool." +#~ msgstr "Settings for media pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload" +#~ msgid "Settings for upload pool." +#~ msgstr "Settings for upload pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout > :enabled" +#~ msgid "Enables the backend Shoutbox chat feature." +#~ msgstr "Enables the backend Shoutbox chat feature." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout > :limit" +#~ msgid "Shout message character limit." +#~ msgstr "Shout message character limit." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" +#~ msgid "Enables sending a chat message to newly registered users" +#~ msgstr "Enables sending a chat message to newly registered users" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:welcome > :chat_message > :message" +#~ msgid "" +#~ "A message that will be sent to newly registered users as a chat message" +#~ msgstr "" +#~ "A message that will be sent to newly registered users as a chat message" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:welcome > :chat_message > :sender_nickname" +#~ msgid "The nickname of the local user that sends a welcome chat message" +#~ msgstr "The nickname of the local user that sends a welcome chat message" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "auth" +#~ msgid "Enables HTTP Basic Auth for app metrics endpoint." +#~ msgstr "Enables HTTP Basic Auth for app metrics endpoint." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "enabled" +#~ msgid "[Pleroma extension] Enables app metrics endpoint." +#~ msgstr "[Pleroma extension] Enables app metrics endpoint." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "format" +#~ msgid "App metrics endpoint output format." +#~ msgstr "App metrics endpoint output format." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "ip_whitelist" +#~ msgid "" +#~ "Restrict access of app metrics endpoint to the specified IP addresses." +#~ msgstr "" +#~ "Restrict access of app metrics endpoint to the specified IP addresses." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "path" +#~ msgid "App metrics endpoint URI path." +#~ msgstr "App metrics endpoint URI path." + +#, fuzzy +#~ msgctxt "config description at :quack > :level" +#~ msgid "Log level" +#~ msgstr "Log level" + +#, fuzzy +#~ msgctxt "config description at :quack > :meta" +#~ msgid "Configure which metadata you want to report on" +#~ msgstr "Configure which metadata you want to report on" + +#, fuzzy +#~ msgctxt "config description at :quack > :webhook_url" +#~ msgid "Configure the Slack incoming webhook" +#~ msgstr "Configure the Slack incoming webhook" + +#, fuzzy +#~ msgctxt "config label at :esshd > :handler" +#~ msgid "Handler" +#~ msgstr "Handler" + +#, fuzzy +#~ msgctxt "config label at :esshd > :password_authenticator" +#~ msgid "Password authenticator" +#~ msgstr "Password authenticator" + +#, fuzzy +#~ msgctxt "config label at :esshd > :port" +#~ msgid "Port" +#~ msgstr "Port" + +#, fuzzy +#~ msgctxt "config label at :esshd > :priv_dir" +#~ msgid "Priv dir" +#~ msgstr "Priv dir" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" +#~ msgid "Connect timeout" +#~ msgstr "Connect timeout" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:connections_pool > :" +#~ "connection_acquisition_retries" +#~ msgid "Connection acquisition retries" +#~ msgstr "Connection acquisition retries" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:connections_pool > :connection_acquisition_wait" +#~ msgid "Connection acquisition wait" +#~ msgstr "Connection acquisition wait" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" +#~ msgid "Reclaim multiplier" +#~ msgstr "Reclaim multiplier" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "minimalScopesMode" +#~ msgid "Minimal scopes mode" +#~ msgstr "Minimal scopes mode" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :dstport" +#~ msgid "Dstport" +#~ msgstr "Dstport" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :ip" +#~ msgid "IP" +#~ msgstr "IP" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :port" +#~ msgid "Port" +#~ msgstr "Port" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :federation" +#~ msgid "Federation" +#~ msgstr "Federation" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :federation > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :media" +#~ msgid "Media" +#~ msgstr "Media" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :media > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :upload" +#~ msgid "Upload" +#~ msgstr "Upload" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :upload > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:http > :send_user_agent" +#~ msgid "Send user agent" +#~ msgstr "Send user agent" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :birthday_min_age" +#~ msgid "Birthday min age" +#~ msgstr "Birthday min age" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :birthday_required" +#~ msgid "Birthday required" +#~ msgstr "Birthday required" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :max_endorsed_users" +#~ msgid "Max endorsed users" +#~ msgstr "Max endorsed users" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :max_media_attachments" +#~ msgid "Max media attachments" +#~ msgstr "Max media attachments" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default" +#~ msgid "Default" +#~ msgstr "Default" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation" +#~ msgid "Federation" +#~ msgstr "Federation" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media" +#~ msgid "Media" +#~ msgstr "Media" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload" +#~ msgid "Upload" +#~ msgstr "Upload" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout > :limit" +#~ msgid "Limit" +#~ msgstr "Limit" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message" +#~ msgid "Chat message" +#~ msgstr "Chat message" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message > :message" +#~ msgid "Message" +#~ msgstr "Message" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:welcome > :chat_message > :sender_nickname" +#~ msgid "Sender nickname" +#~ msgstr "Sender nickname" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" +#~ msgid "Auth" +#~ msgstr "Auth" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" +#~ msgid "Format" +#~ msgstr "Format" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "ip_whitelist" +#~ msgid "IP Whitelist" +#~ msgstr "IP Whitelist" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" +#~ msgid "Path" +#~ msgstr "Path" + +#, fuzzy +#~ msgctxt "config label at :quack > :level" +#~ msgid "Level" +#~ msgstr "Level" + +#, fuzzy +#~ msgctxt "config label at :quack > :meta" +#~ msgid "Meta" +#~ msgstr "Meta" + +#, fuzzy +#~ msgctxt "config label at :quack > :webhook_url" +#~ msgid "Webhook URL" +#~ msgstr "Webhook URL" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :short_description" +#~ msgid "" +#~ "Shorter version of instance description. It can be seen on `/api/v1/" +#~ "instance`" +#~ msgstr "" +#~ "Shorter version of instance description. It can be seen on `/api/v1/" +#~ "instance`" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :short_description" +#~ msgid "Short description" +#~ msgstr "Short description" diff --git a/priv/gettext/config_descriptions.pot b/priv/gettext/config_descriptions.pot index 1a55bfe68..c85c7cc32 100644 --- a/priv/gettext/config_descriptions.pot +++ b/priv/gettext/config_descriptions.pot @@ -10,6002 +10,5966 @@ msgid "" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd" -msgid "Before enabling this you must add :esshd to mix.exs as one of the extra_applications and generate host keys in your priv dir with ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :logger" msgid "Logger-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :mime" msgid "Mime Types settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma" msgid "Allows setting a token that can be used to authenticate requests with admin privileges without a normal user account token. Append the `admin_token` parameter to requests to utilize it. (Please reconsider using HTTP Basic Auth or OAuth-based authentication if possible)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma" msgid "Authenticator" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :quack" -msgid "Quack-related settings" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :cors_plug" msgid "CORS plug config" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd" -msgid "ESSHD" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :logger" msgid "Logger" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime" msgid "Mime Types" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma" msgid "Pleroma Admin Token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma" msgid "Pleroma Authenticator" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :quack" -msgid "Quack Logger" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :logger-:console" msgid "Console logger settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger-:ex_syslogger" msgid "ExSyslogger-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub" msgid "ActivityPub-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:assets" msgid "This section configures assets to be used with various frontends. Currently the only option relates to mascots on the mastodon frontend" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:auth" msgid "Authentication / authorization settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool" -msgid "Advanced settings for `Gun` connections pool" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:email_notifications" msgid "Email notifications settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:features" msgid "Customizable features" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:feed" msgid "Configure feed rendering" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:frontend_configurations" -msgid "This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for pleroma_fe are configured. If you want to add your own configuration your settings all fields must be complete." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:frontends" msgid "Installed frontends management" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:gopher" -msgid "Gopher settings" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools" -msgid "Advanced settings for `Hackney` connections pools" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:http" msgid "HTTP settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http_security" msgid "HTTP security settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance" msgid "Instance-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instances_favicons" msgid "Control favicons for instances" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap" msgid "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password will be verified by trying to authenticate (bind) to a LDAP server. If a user exists in the LDAP directory but there is no account with the same name yet on the Pleroma instance then a new Pleroma account will be created with the same name as the LDAP user name." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:majic_pool" msgid "Majic/libmagic configuration" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:manifest" msgid "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_preview_proxy" msgid "Media preview proxy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy" msgid "Media proxy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:modules" msgid "Custom Runtime Modules" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf" msgid "General MRF settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_activity_expiration" msgid "Adds automatic expiration to all local activities" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_follow_bot" msgid "Automatically follows newly discovered accounts." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hashtag" msgid "Reject, TWKN-remove or Set-Sensitive messsages with specific hashtags (without the leading #)\n\nNote: This MRF Policy is always enabled, if you want to disable it you have to set empty lists.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hellthread" msgid "Block messages with excessive user mentions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_keyword" msgid "Reject or Word-Replace messages matching a keyword or [Regex](https://hexdocs.pm/elixir/Regex.html)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_mention" msgid "Block messages which mention a specific user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_normalize_markup" msgid "MRF NormalizeMarkup settings. Scrub configured hypertext markup." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_object_age" msgid "Rejects or delists posts based on their timestamp deviance from your server's clock." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_rejectnonpublic" msgid "RejectNonPublic drops posts with non-public visibility settings." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple" msgid "Simple ingress policies" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_steal_emoji" msgid "Steals emojis from selected instances when it sees them." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_subchain" msgid "This policy processes messages through an alternate pipeline when a given message matches certain criteria. All criteria are configured as a map of regular expressions to lists of policy modules." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_vocabulary" msgid "Filter messages which belong to certain activity vocabularies" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:oauth2" msgid "Configure OAuth 2 provider capabilities" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools" -msgid "Advanced settings for `Gun` workers pools" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:populate_hashtags_table" msgid "`populate_hashtags_table` background migration settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit" msgid "Rate limit settings. This is an advanced feature enabled only for :authentication by default." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated" -msgid "Disallow viewing timelines, user profiles and statuses for unauthenticated users." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:rich_media" msgid "If enabled the instance will parse metadata from attached links to generate link previews" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:shout" -msgid "Pleroma shout settings" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:static_fe" msgid "Render profiles and posts using server-generated HTML that is viewable without using JavaScript" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:streamer" msgid "Settings for notifications streamer" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:uri_schemes" msgid "URI schemes related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:web_cache_ttl" msgid "The expiration time for the web responses cache. Values should be in milliseconds or `nil` to disable expiration." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome" msgid "Welcome messages settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:workers" msgid "Includes custom worker options not interpretable directly by `Oban`" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter" msgid "Limits configuration for background tasks." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban" msgid "[Oban](https://github.com/sorentwo/oban) asynchronous job processor configuration." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Captcha" msgid "Captcha-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Captcha.Kocaptcha" msgid "Kocaptcha is a very simple captcha service with a single API endpoint, the source code is here: https://github.com/koto-bank/kocaptcha. The default endpoint (https://captcha.kotobank.ch) is hosted by the developer." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer" msgid "Mailer-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.NewUsersDigestEmail" msgid "New users admin email digest" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail" msgid "Email template settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter" msgid "Configuration for Pleroma's link formatter which parses mentions, hashtags, and URLs." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.ScheduledActivity" msgid "Scheduled activities settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload" msgid "Upload general settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename" msgid "Filter replaces the filename of the upload" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload.Filter.Mogrify" msgid "Uploads mogrify filter settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.Local" msgid "Local uploader-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.S3" msgid "S3 uploader-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.User.Backup" msgid "Account Backup" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http" msgid "HTTP invalidate settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script" msgid "Invalidation script settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Metadata" msgid "Metadata-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp" msgid "`Pleroma.Web.Plugs.RemoteIp` is a shim to call [`RemoteIp`](https://git.pleroma.social/pleroma/remote_ip) but with runtime configuration.\n**If your instance is not behind at least one reverse proxy, you should not enable this plug.**\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Preload" msgid "Preload-related settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Expired activities settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Prometheus app metrics endpoint configuration" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :web_push_encryption-:vapid_details" msgid "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :ex_aws-:s3" msgid "S3" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:console" msgid "Console Logger" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:ex_syslogger" msgid "ExSyslogger" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub" msgid "ActivityPub" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:assets" msgid "Assets" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:auth" msgid "Auth" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:connections_pool" -msgid "Connections pool" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:email_notifications" msgid "Email notifications" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:emoji" msgid "Emoji" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:features" msgid "Features" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:feed" msgid "Feed" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations" msgid "Frontend configurations" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends" msgid "Frontends" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:gopher" -msgid "Gopher" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools" -msgid "Hackney pools" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:http" msgid "HTTP" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http_security" msgid "HTTP security" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance" msgid "Instance" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instances_favicons" msgid "Instances favicons" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap" msgid "LDAP" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:majic_pool" msgid "Majic pool" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:manifest" msgid "Manifest" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:markup" msgid "Markup Settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_preview_proxy" msgid "Media preview proxy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy" msgid "Media proxy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:modules" msgid "Modules" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf" msgid "MRF" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_activity_expiration" msgid "MRF Activity Expiration Policy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_follow_bot" msgid "MRF FollowBot Policy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hashtag" msgid "MRF Hashtag" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hellthread" msgid "MRF Hellthread" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_keyword" msgid "MRF Keyword" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_mention" msgid "MRF Mention" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_normalize_markup" msgid "MRF Normalize Markup" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_object_age" msgid "MRF Object Age" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_rejectnonpublic" msgid "MRF Reject Non Public" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple" msgid "MRF Simple" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_steal_emoji" msgid "MRF Emojis" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_subchain" msgid "MRF Subchain" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_vocabulary" msgid "MRF Vocabulary" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:oauth2" msgid "OAuth2" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools" -msgid "Pools" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:populate_hashtags_table" msgid "Populate hashtags table" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit" msgid "Rate limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated" msgid "Restrict Unauthenticated" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media" msgid "Rich media" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:shout" -msgid "Shout" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:static_fe" msgid "Static FE" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:streamer" msgid "Streamer" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:uri_schemes" msgid "URI Schemes" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:user" msgid "User" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:web_cache_ttl" msgid "Web cache TTL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome" msgid "Welcome" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:workers" msgid "Workers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter" msgid "ConcurrentLimiter" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban" msgid "Oban" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Captcha" msgid "Pleroma.Captcha" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Captcha.Kocaptcha" msgid "Pleroma.Captcha.Kocaptcha" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer" msgid "Pleroma.Emails.Mailer" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.NewUsersDigestEmail" msgid "Pleroma.Emails.NewUsersDigestEmail" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail" msgid "Pleroma.Emails.UserEmail" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter" msgid "Linkify" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.ScheduledActivity" msgid "Pleroma.ScheduledActivity" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload" msgid "Pleroma.Upload" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename" msgid "Pleroma.Upload.Filter.AnonymizeFilename" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload.Filter.Mogrify" msgid "Pleroma.Upload.Filter.Mogrify" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.Local" msgid "Pleroma.Uploaders.Local" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.S3" msgid "Pleroma.Uploaders.S3" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.User" msgid "Pleroma.User" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.User.Backup" msgid "Pleroma.User.Backup" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate" msgid "Pleroma.Web.ApiSpec.CastAndValidate" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http" msgid "Pleroma.Web.MediaProxy.Invalidation.Http" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script" msgid "Pleroma.Web.MediaProxy.Invalidation.Script" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Metadata" msgid "Pleroma.Web.Metadata" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp" msgid "Pleroma.Web.Plugs.RemoteIp" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Preload" msgid "Pleroma.Web.Preload" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Pleroma.Workers.PurgeExpiredActivity" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Pleroma.Web.Endpoint.MetricsExporter" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :web_push_encryption-:vapid_details" msgid "Vapid Details" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd > :enabled" -msgid "Enables SSH" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd > :handler" -msgid "Handler module" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd > :password_authenticator" -msgid "Authenticator module" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd > :port" -msgid "Port to connect" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :esshd > :priv_dir" -msgid "Dir with SSH keys" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :ex_aws-:s3 > :access_key_id" msgid "S3 access key ID" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :ex_aws-:s3 > :host" msgid "S3 host" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :ex_aws-:s3 > :region" msgid "S3 region (for AWS)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :ex_aws-:s3 > :secret_access_key" msgid "Secret access key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger > :backends" msgid "Where logs will be sent, :console - send logs to stdout, { ExSyslogger, :ex_syslogger } - to syslog, Quack.Logger - to Slack." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger-:console > :format" msgid "Default: \"$date $time [$level] $levelpad$node $metadata $message\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger-:console > :level" msgid "Log level" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger-:ex_syslogger > :format" msgid "Default: \"$date $time [$level] $levelpad$node $metadata $message\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger-:ex_syslogger > :ident" msgid "A string that's prepended to every message, and is typically set to the app name" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :logger-:ex_syslogger > :level" msgid "Log level" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma > :admin_token" msgid "Admin token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub > :blockers_visible" msgid "Whether a user can see someone who has blocked them" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub > :follow_handshake_timeout" msgid "Following handshake timeout" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub > :note_replies_output_limit" msgid "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub > :outgoing_blocks" msgid "Whether to federate blocks to other instances" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub > :sign_object_fetches" msgid "Sign object fetches with HTTP signatures" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:activitypub > :unfollow_blocked" msgid "Whether blocks result in people getting unfollowed" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:assets > :default_mascot" msgid "This will be used as the default mascot on MastoFE. Default: `:pleroma_fox_tan`" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:assets > :default_user_avatar" msgid "URL of the default user avatar" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:assets > :mascots" msgid "Keyword of mascots, each element must contain both an URL and a mime_type key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:auth > :auth_template" msgid "Authentication form template. By default it's `show.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/show.html.ee`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:auth > :enforce_oauth_admin_scope_usage" msgid "OAuth admin scope requirement toggle. If enabled, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token (client app must support admin scopes). If disabled and token doesn't have admin scope(s), `is_admin` user flag grants access to admin-specific actions." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:auth > :oauth_consumer_strategies" msgid "The list of enabled OAuth consumer strategies. By default it's set by OAUTH_CONSUMER_STRATEGIES environment variable. Each entry in this space-delimited string should be of format \"strategy\" or \"strategy:dependency\" (e.g. twitter or keycloak:ueberauth_keycloak_strategy in case dependency is named differently than ueberauth_)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:auth > :oauth_consumer_template" msgid "OAuth consumer mode authentication form template. By default it's `consumer.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool > :connect_timeout" -msgid "Timeout while `gun` will wait until connection is up. Default: 5000ms." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool > :connection_acquisition_retries" -msgid "Number of attempts to acquire the connection from the pool if it is overloaded. Default: 5" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool > :connection_acquisition_wait" -msgid "Timeout to acquire a connection from pool. The total max time is this value multiplied by the number of retries. Default: 250ms." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool > :max_connections" -msgid "Maximum number of connections in the pool. Default: 250 connections." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "Multiplier for the number of idle connection to be reclaimed if the pool is full. For example if the pool maxes out at 250 connections and this setting is set to 0.3, the pool will reclaim at most 75 idle connections if it's overloaded. Default: 0.1" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:email_notifications > :digest" msgid "emails of \"what you've missed\" for users who have been inactive for a while" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:email_notifications > :digest > :active" msgid "Globally enable or disable digest emails" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:email_notifications > :digest > :inactivity_threshold" msgid "Minimum user inactivity threshold" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:email_notifications > :digest > :interval" msgid "Minimum interval between digest emails to one user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:email_notifications > :digest > :schedule" msgid "When to send digest email, in crontab format. \"0 0 0\" is the default, meaning \"once a week at midnight on Sunday morning\"." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:emoji > :default_manifest" msgid "Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:emoji > :groups" msgid "Emojis are ordered in groups (tags). This is an array of key-value pairs where the key is the group name and the value is the location or array of locations. * can be used as a wildcard." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:emoji > :pack_extensions" msgid "A list of file extensions for emojis, when no emoji.txt for a pack is present" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:emoji > :shortcode_globs" msgid "Location of custom emoji files. * can be used as a wildcard." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:features > :improved_hashtag_timeline" msgid "Setting to force toggle / force disable improved hashtags timeline. `:enabled` forces hashtags to be fetched from `hashtags` table for hashtags timeline. `:disabled` forces object-embedded hashtags to be used (slower). Keep it `:auto` for automatic behaviour (it is auto-set to `:enabled` [unless overridden] when HashtagsTableMigrator completes)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:feed > :post_title" msgid "Configure title rendering" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:feed > :post_title > :max_length" msgid "Maximum number of characters before truncating title" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:feed > :post_title > :omission" msgid "Replacement which will be used after truncating string" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe" msgid "Settings for Pleroma FE" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :alwaysShowSubjectInput" msgid "When disabled, auto-hide the subject field if it's empty" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :background" msgid "URL of the background, unless viewing a user profile with a background that is set" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :collapseMessageWithSubject" msgid "When a message has a subject (aka Content Warning), collapse it by default" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :greentext" msgid "Enables green text on lines prefixed with the > character" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideFilteredStatuses" msgid "Hides filtered statuses from timelines" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideMutedPosts" msgid "Hides muted statuses from timelines" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hidePostStats" msgid "Hide notices statistics (repeats, favorites, ...)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSitename" -msgid "Hides instance name from PleromaFE banner" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideUserStats" msgid "Hide profile statistics (posts, posts per day, followers, followings, ...)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logo" msgid "URL of the logo, defaults to Pleroma's logo" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logoMargin" msgid "Allows you to adjust vertical margins between logo boundary and navbar borders. The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logoMask" msgid "By default it assumes logo used will be monochrome with alpha channel to be compatible with both light and dark themes. If you want a colorful logo you must disable logoMask." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :minimalScopesMode" -msgid "Limit scope selection to Direct, User default, and Scope of post replying to. Also prevents replying to a DM with a public post from PleromaFE." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :nsfwCensorImage" msgid "URL of the image to use for hiding NSFW media attachments in the timeline" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :postContentType" msgid "Default post formatting option" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootLogin" msgid "Relative URL which indicates where to redirect when a user is logged in" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootNoLogin" msgid "Relative URL which indicates where to redirect when a user isn't logged in" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :scopeCopy" msgid "Copy the scope (private/unlisted/public) in replies to posts by default" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showFeaturesPanel" msgid "Enables panel displaying functionality of the instance on the About page" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showInstanceSpecificPanel" msgid "Whether to show the instance's custom panel" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :sidebarRight" msgid "Change alignment of sidebar and panels to the right" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :subjectLineBehavior" msgid "Allows changing the default behaviour of subject lines in replies.\n `email`: copy and preprend re:, as in email,\n `masto`: copy verbatim, as in Mastodon,\n `noop`: don't copy the subject." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :theme" msgid "Which theme to use. Available themes are defined in styles.json" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :admin" msgid "Admin frontend" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :admin > name" msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :admin > ref" msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available" msgid "A map containing available frontends and parameters for their installation." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available > build_dir" msgid "The directory inside the zip file " msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available > build_url" msgid "Either an url to a zip file containing the frontend or a template to build it by inserting the `ref`. The string `${ref}` will be replaced by the configured `ref`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available > custom-http-headers" msgid "The custom HTTP headers for the frontend" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available > git" msgid "URL of the git repository of the frontend" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available > name" msgid "Name of the frontend." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :available > ref" msgid "Reference of the frontend to be used." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :primary" msgid "Primary frontend, the one that is served for all pages by default" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :primary > name" msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:frontends > :primary > ref" msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:gopher > :dstport" -msgid "Port advertised in URLs (optional, defaults to port)" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:gopher > :enabled" -msgid "Enables the gopher interface" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:gopher > :ip" -msgid "IP address to bind to" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:gopher > :port" -msgid "Port to bind to" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :federation" -msgid "Settings for federation pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :federation > :max_connections" -msgid "Number workers in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :media" -msgid "Settings for media pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Number workers in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :upload" -msgid "Settings for upload pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Number workers in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:http > :adapter" msgid "Adapter specific options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http > :adapter > :ssl_options" msgid "SSL options for HTTP adapter" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http > :adapter > :ssl_options > :versions" msgid "List of TLS version to use" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:http > :proxy_url" -msgid "Proxy URL" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:http > :user_agent" msgid "What user agent to use. Must be a string or an atom `:default`. Default value is `:default`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http_security > :enabled" msgid "Whether the managed content security policy is enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http_security > :referrer_policy" msgid "The referrer policy to use, either \"same-origin\" or \"no-referrer\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http_security > :report_uri" msgid "Adds the specified URL to report-uri and report-to group in CSP header" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http_security > :sts" msgid "Whether to additionally send a Strict-Transport-Security header" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:http_security > :sts_max_age" msgid "The maximum age for the Strict-Transport-Security header if sent" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :account_activation_required" msgid "Require users to confirm their emails before signing in" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :account_approval_required" msgid "Require users to be manually approved by an admin before signing in" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :account_field_name_length" msgid "An account field name maximum length. Default: 512." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :account_field_value_length" msgid "An account field value maximum length. Default: 2048." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :allow_relay" msgid "Permits remote instances to subscribe to all public posts of your instance. (Important!) This may increase the visibility of your instance." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :allowed_post_formats" msgid "MIME-type list of formats allowed to be posted (transformed into HTML)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :attachment_links" msgid "Enable to automatically add attachment link text to statuses" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :autofollowed_nicknames" msgid "Set to nicknames of (local) users that every new user should automatically follow" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :autofollowing_nicknames" msgid "Set to nicknames of (local) users that automatically follows every newly registered user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :avatar_upload_limit" msgid "File size limit of user's profile avatars" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :background_upload_limit" msgid "File size limit of user's profile backgrounds" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :banner_upload_limit" msgid "File size limit of user's profile banners" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :birthday_min_age" -msgid "Minimum required age for users to create account. Only used if birthday is required." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :birthday_required" -msgid "Require users to enter their birthday." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:instance > :cleanup_attachments" msgid "Enable to remove associated attachments when status is removed.\nThis will not affect duplicates and attachments without status.\nEnabling this will increase load to database when deleting statuses on larger instances.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :description" msgid "The instance's description. It can be seen in nodeinfo and `/api/v1/instance`" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :email" msgid "Email used to reach an Administrator/Moderator of the instance" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :extended_nickname_format" msgid "Enable to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :external_user_synchronization" msgid "Enabling following/followers counters synchronization for external users" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :federating" msgid "Enable federation with other instances" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :federation_incoming_replies_max_depth" msgid "Max. depth of reply-to and reply activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. If set to `nil`, threads of any depth will be fetched. Lower this value if you experience out-of-memory crashes." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :federation_reachability_timeout_days" msgid "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :healthcheck" -msgid "If enabled, system data will be shown on `/api/pleroma/healthcheck`" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:instance > :instance_thumbnail" msgid "The instance thumbnail can be any image that represents your instance and is used by some apps or services when they display information about your instance." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :invites_enabled" msgid "Enable user invitations for admins (depends on `registrations_open` being disabled)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :limit" msgid "Posts character limit (CW/Subject included in the counter)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :limit_to_local_content" msgid "Limit unauthenticated users to search for local statutes and users only. Default: `:unauthenticated`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :max_account_fields" msgid "The maximum number of custom fields in the user profile. Default: 10." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :max_endorsed_users" -msgid "The maximum number of recommended accounts. 0 will disable the feature." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :max_media_attachments" -msgid "Maximum number of post media attachments" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:instance > :max_pinned_statuses" msgid "The maximum number of pinned statuses. 0 will disable the feature." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :max_remote_account_fields" msgid "The maximum number of custom fields in the remote user profile. Default: 20." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :max_report_comment_size" msgid "The maximum size of the report comment. Default: 1000." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication" msgid "Multi-factor authentication settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes" msgid "MFA backup codes settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :length" msgid "Determines the length of backup one-time pass-codes, in characters. Defaults to 16 characters." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :number" msgid "Number of backup codes to generate." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp" msgid "TOTP settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp > :digits" msgid "Determines the length of a one-time pass-code, in characters. Defaults to 6 characters." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp > :period" msgid "A period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :name" msgid "Name of the instance" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :notify_email" msgid "Envelope FROM address for mail sent via Pleroma" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :poll_limits" msgid "A map with poll limits for local polls" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :poll_limits > :max_expiration" msgid "Maximum expiration time (in seconds)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :poll_limits > :max_option_chars" msgid "Maximum number of characters per option" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :poll_limits > :max_options" msgid "Maximum number of options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :poll_limits > :min_expiration" msgid "Minimum expiration time (in seconds)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :privileged_staff" -msgid "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses and chats)" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:instance > :profile_directory" msgid "Enable profile directory." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :public" -msgid "Makes the client API in authenticated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network. Note: when setting to `false`, please also check `:restrict_unauthenticated` setting." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :quarantined_instances" -msgid "List of ActivityPub instances where private (DMs, followers-only) activities will not be sent and the reason for doing so" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:instance > :registration_reason_length" msgid "Maximum registration reason length. Default: 500." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :registrations_open" msgid "Enable registrations for anyone. Invitations require this setting to be disabled." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :remote_limit" msgid "Hard character limit beyond which remote posts will be dropped" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :remote_post_retention_days" msgid "The default amount of days to retain remote posts when pruning the database" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :safe_dm_mentions" msgid "If enabled, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them (e.g. \"@admin please keep an eye on @bad_actor\"). Default: disabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :show_reactions" msgid "Let favourites and emoji reactions be viewed through the API." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :skip_thread_containment" msgid "Skip filtering out broken threads. Default: enabled." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :static_dir" msgid "Instance static directory" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :upload_limit" msgid "File size limit of uploads (except for avatar, background, banner)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :user_bio_length" msgid "A user bio maximum length. Default: 5000." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instance > :user_name_length" msgid "A user name maximum length. Default: 100." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:instances_favicons > :enabled" msgid "Allow/disallow displaying and getting instances favicons" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :base" msgid "LDAP base, e.g. \"dc=example,dc=com\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :enabled" msgid "Enables LDAP authentication" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :host" msgid "LDAP server hostname" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :port" msgid "LDAP port, e.g. 389 or 636" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :ssl" msgid "Enable to use SSL, usually implies the port 636" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :sslopts" msgid "Additional SSL options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :sslopts > :cacertfile" msgid "Path to file with PEM encoded cacerts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :sslopts > :verify" msgid "Type of cert verification" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :tls" msgid "Enable to use STARTTLS, usually implies the port 389" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :tlsopts" msgid "Additional TLS options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :tlsopts > :cacertfile" msgid "Path to file with PEM encoded cacerts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :tlsopts > :verify" msgid "Type of cert verification" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:ldap > :uid" msgid "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:majic_pool > :size" msgid "Number of majic workers to start." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:manifest > :background_color" -msgid "Describe the background color of the app" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:manifest > :icons" msgid "Describe the icons of the app" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:manifest > :theme_color" -msgid "Describe the theme color of the app" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:markup > :scrub_policy" msgid "Module names are shortened (removed leading `Pleroma.HTML.` part), but on adding custom module you need to use full name." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_preview_proxy > :enabled" msgid "Enables proxying of remote media preview to the instance's proxy. Requires enabled media proxy." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_preview_proxy > :image_quality" msgid "Quality of the output. Ranges from 0 (min quality) to 100 (max quality)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_preview_proxy > :min_content_length" msgid "Min content length (in bytes) to perform preview. Media smaller in size will be served without thumbnailing." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_preview_proxy > :thumbnail_max_height" msgid "Max height of preview thumbnail for images (video preview always has original dimensions)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_preview_proxy > :thumbnail_max_width" msgid "Max width of preview thumbnail for images (video preview always has original dimensions)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :base_url" msgid "The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :enabled" msgid "Enables proxying of remote media via the instance's proxy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :invalidation > :enabled" msgid "Enables media cache object invalidation." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :invalidation > :provider" msgid "Module which will be used to purge objects from the cache." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :proxy_opts" msgid "Internal Pleroma.ReverseProxy settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :max_body_length" msgid "Maximum file size (in bytes) allowed through the Pleroma MediaProxy cache." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :max_read_duration" msgid "Timeout (in milliseconds) of GET request to the remote URI." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :redirect_on_failure" msgid "Redirects the client to the origin server upon encountering HTTP errors.\n\nNote that files larger than Max Body Length will trigger an error. (e.g., Peertube videos)\n\n\n**WARNING:** This setting will allow larger files to be accessed, but exposes the\n\nIP addresses of your users to the other servers, bypassing the MediaProxy.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:media_proxy > :whitelist" msgid "List of hosts with scheme to bypass the MediaProxy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:modules > :runtime_dir" msgid "A path to custom Elixir modules (such as MRF policies)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf > :policies" msgid "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf > :transparency" msgid "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf > :transparency_exclusions" msgid "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value. You can also provide a reason for excluding these instance names. The instances and reasons won't be publicly disclosed." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_activity_expiration > :days" msgid "Default global expiration time for all local activities (in days)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_follow_bot > :follower_nickname" msgid "The name of the bot account to use for following newly discovered users." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hashtag > :federated_timeline_removal" msgid "A list of hashtags which result in message being removed from federated timelines (a.k.a unlisted)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hashtag > :reject" msgid "A list of hashtags which result in message being rejected." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hashtag > :sensitive" msgid "A list of hashtags which result in message being set as sensitive (a.k.a NSFW/R-18)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hellthread > :delist_threshold" msgid "Number of mentioned users after which the message gets removed from timelines anddisables notifications. Set to 0 to disable." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_hellthread > :reject_threshold" msgid "Number of mentioned users after which the messaged gets rejected. Set to 0 to disable." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_keyword > :federated_timeline_removal" msgid " A list of patterns which result in message being removed from federated timelines (a.k.a unlisted).\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_keyword > :reject" msgid " A list of patterns which result in message being rejected.\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_keyword > :replace" msgid " **Pattern**: a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n\n **Replacement**: a string. Leaving the field empty is permitted.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_mention > :actors" msgid "A list of actors for which any post mentioning them will be dropped" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_object_age > :actions" msgid "A list of actions to apply to the post. `:delist` removes the post from public timelines; `:strip_followers` removes followers from the ActivityPub recipient list ensuring they won't be delivered to home timelines; `:reject` rejects the message entirely" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_object_age > :threshold" msgid "Required age (in seconds) of a post before actions are taken." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_rejectnonpublic > :allow_direct" msgid "Whether to allow direct messages" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_rejectnonpublic > :allow_followersonly" msgid "Whether to allow followers-only posts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :accept" msgid "List of instances to only accept activities from (except deletes) and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :avatar_removal" msgid "List of instances to strip avatars from and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :banner_removal" msgid "List of instances to strip banners from and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :federated_timeline_removal" msgid "List of instances to remove from the Federated (aka The Whole Known Network) Timeline and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :followers_only" msgid "Force posts from the given instances to be visible by followers only and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :media_nsfw" msgid "List of instances to tag all media as NSFW (sensitive) from and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :media_removal" msgid "List of instances to strip media attachments from and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :reject" msgid "List of instances to reject activities from (except deletes) and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :reject_deletes" msgid "List of instances to reject deletions from and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_simple > :report_removal" msgid "List of instances to reject reports from and the reason for doing so" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_steal_emoji > :hosts" msgid "List of hosts to steal emojis from" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_steal_emoji > :rejected_shortcodes" msgid " A list of patterns or matches to reject shortcodes with.\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_steal_emoji > :size_limit" msgid "File size limit (in bytes), checked before an emoji is saved to the disk" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_subchain > :match_actor" msgid "Matches a series of regular expressions against the actor field" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_vocabulary > :accept" msgid "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:mrf_vocabulary > :reject" msgid "A list of ActivityStreams terms to reject. If empty, no messages are rejected." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:oauth2 > :clean_expired_tokens" msgid "Enable a background job to clean expired OAuth tokens. Default: disabled." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:oauth2 > :issue_new_refresh_token" msgid "Keeps old refresh token or generate new refresh token when to obtain an access token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:oauth2 > :token_expires_in" msgid "The lifetime in seconds of the access token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :default" -msgid "Settings for default pool." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :default > :max_waiting" -msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :default > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :federation" -msgid "Settings for federation pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" -msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :federation > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :federation > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :media" -msgid "Settings for media pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :media > :max_waiting" -msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :media > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :upload" -msgid "Settings for upload pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" -msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:pools > :upload > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:populate_hashtags_table > :fault_rate_allowance" msgid "Max accepted rate of objects that failed in the migration. Any value from 0.0 which tolerates no errors to 1.0 which will enable the feature even if hashtags transfer failed for all records." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:populate_hashtags_table > :sleep_interval_ms" msgid "Sleep interval between each chunk of processed records in order to decrease the load on the system (defaults to 0 and should be keep default on most instances)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :app_account_creation" msgid "For registering user accounts from the same IP address" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :authentication" msgid "For authentication create / password check / user existence check requests" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :relation_id_action" msgid "For actions on relation with a specific user (follow, unfollow)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :relations_actions" msgid "For actions on relationships with all users (follow, unfollow)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :search" msgid "For the search requests (account & status search etc.)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :status_id_action" msgid "For fav / unfav or reblog / unreblog actions on the same status by the same user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :statuses_actions" msgid "For create / delete / fav / unfav / reblog / unreblog actions on any statuses" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rate_limit > :timeline" msgid "For requests to timelines (each timeline has it's own limiter)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities" -msgid "Settings for statuses." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :local" -msgid "Disallow view local statuses." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :remote" -msgid "Disallow view remote statuses." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles" msgid "Settings for user profiles." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :local" -msgid "Disallow view local user profiles." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :remote" -msgid "Disallow view remote user profiles." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines" msgid "Settings for public and federated timelines." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :federated" -msgid "Disallow view federated timeline." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :local" -msgid "Disallow view public timeline." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:rich_media > :enabled" msgid "Enables RichMedia parsing of URLs" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rich_media > :failure_backoff" msgid "Amount of milliseconds after request failure, during which the request will not be retried." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rich_media > :ignore_hosts" msgid "List of hosts which will be ignored by the metadata parser" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rich_media > :ignore_tld" msgid "List TLDs (top-level domains) which will ignore for parse metadata" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rich_media > :parsers" msgid "List of Rich Media parsers. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parsers.` part), but on adding custom module you need to use full name." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:rich_media > :ttl_setters" msgid "List of rich media TTL setters. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need to use full name." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:shout > :enabled" -msgid "Enables the backend Shoutbox chat feature." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:shout > :limit" -msgid "Shout message character limit." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:static_fe > :enabled" msgid "Enables the rendering of static HTML. Default: disabled." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:streamer > :overflow_workers" msgid "Maximum number of workers created if pool is empty" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:streamer > :workers" msgid "Number of workers to send notifications" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:uri_schemes > :valid_schemes" msgid "List of the scheme part that is considered valid to be an URL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:web_cache_ttl > :activity_pub" msgid "Activity pub routes (except question activities). Default: `nil` (no expiration)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:web_cache_ttl > :activity_pub_question" msgid "Activity pub routes (question activities). Default: `30_000` (30 seconds)." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enables sending a chat message to newly registered users" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:welcome > :chat_message > :message" -msgid "A message that will be sent to newly registered users as a chat message" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "The nickname of the local user that sends a welcome chat message" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :pleroma-:welcome > :direct_message > :enabled" msgid "Enables sending a direct message to newly registered users" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :direct_message > :message" msgid "A message that will be sent to newly registered users" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :direct_message > :sender_nickname" msgid "The nickname of the local user that sends a welcome message" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :email > :enabled" msgid "Enables sending an email to newly registered users" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :email > :html" msgid "HTML content of the welcome email. EEX template with user and instance_name variables can be used." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :email > :sender" msgid "Email address and/or nickname that will be used to send the welcome email." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :email > :subject" msgid "Subject of the welcome email. EEX template with user and instance_name variables can be used." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:welcome > :email > :text" msgid "Text content of the welcome email. EEX template with user and instance_name variables can be used." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-:workers > :retries" msgid "Max retry attempts for failed jobs, per `Oban` queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" msgid "Concurrent limits configuration for MediaProxyWarmingPolicy." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_running" msgid "Max running concurrently jobs." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_waiting" msgid "Max waiting jobs." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers" msgid "Concurrent limits configuration for getting RichMedia for activities." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_running" msgid "Max running concurrently jobs." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_waiting" msgid "Max waiting jobs." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :crontab" msgid "Settings for cron background jobs" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :log" msgid "Logs verbose mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues" msgid "Background jobs queues (keys: queues, values: max numbers of concurrent jobs)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :activity_expiration" msgid "Activity expiration queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :attachments_cleanup" msgid "Attachment deletion queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :background" msgid "Background queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :backup" msgid "Backup queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :federator_incoming" msgid "Incoming federation queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :federator_outgoing" msgid "Outgoing federation queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :mailer" msgid "Email sender queue, see Pleroma.Emails.Mailer" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :scheduled_activities" msgid "Scheduled activities queue, see Pleroma.ScheduledActivities" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :transmogrifier" msgid "Transmogrifier queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Oban > :queues > :web_push" msgid "Web push notifications queue" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Captcha > :enabled" msgid "Whether the captcha should be shown on registration" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Captcha > :method" msgid "The method/service to use for captcha" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Captcha > :seconds_valid" msgid "The time in seconds for which the captcha is valid" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Captcha.Kocaptcha > :endpoint" msgid "The kocaptcha endpoint to use" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > :adapter" msgid "One of the mail adapters listed in [Swoosh documentation](https://hexdocs.pm/swoosh/Swoosh.html#module-adapters)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:auth" msgid "SMTP AUTH enforcement mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:password" msgid "SMTP AUTH password" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:port" msgid "SMTP port" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:relay" msgid "Hostname or IP address" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:retries" msgid "SMTP temporary (4xx) error retries" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:ssl" msgid "Use Implicit SSL/TLS. e.g. port 465" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:tls" msgid "Explicit TLS (STARTTLS) enforcement mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:username" msgid "SMTP AUTH username" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.NewUsersDigestEmail > :enabled" msgid "Enables new users admin digest email when `true`" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail > :logo" msgid "A path to a custom logo. Set it to `nil` to use the default Pleroma logo." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail > :styling" msgid "A map with color settings for email templates." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :class" msgid "Specify the class to be added to the generated link. Disable to clear." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :extra" msgid "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :new_window" msgid "Link URLs will open in a new window/tab." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :rel" msgid "Override the rel attribute. Disable to clear." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :strip_prefix" msgid "Strip the scheme prefix." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :truncate" msgid "Set to a number to truncate URLs longer than the number. Truncated URLs will end in `...`" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Formatter > :validate_tld" msgid "Set to false to disable TLD validation for URLs/emails. Can be set to :no_scheme to validate TLDs only for URLs without a scheme (e.g `example.com` will be validated, but `http://example.loki` won't)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :daily_user_limit" msgid "The number of scheduled activities a user is allowed to create in a single day. Default: 25." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :enabled" msgid "Whether scheduled activities are sent to the job queue to be executed" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :total_user_limit" msgid "The number of scheduled activities a user is allowed to create in total. Default: 300." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload > :base_url" msgid "Base URL for the uploads. Required if you use a CDN or host attachments under a different domain." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload > :filename_display_max_length" msgid "Set max length of a filename to display. 0 = no limit. Default: 30" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload > :filters" msgid "List of filter modules for uploads. Module names are shortened (removed leading `Pleroma.Upload.Filter.` part), but on adding custom module you need to use full name." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload > :link_name" msgid "If enabled, a name parameter will be added to the URL of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload > :proxy_remote" msgid "Proxy requests to the remote uploader.\n\nUseful if media upload endpoint is not internet accessible.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload > :uploader" msgid "Module which will be used for uploads" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename > :text" msgid "Text to replace filenames in links. If no setting, {random}.extension will be used. You can get the original filename extension by using {extension}, for example custom-file-name.{extension}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Upload.Filter.Mogrify > :args" msgid "List of actions for the mogrify command. It's possible to add self-written settings as string. For example `auto-orient, strip, {\"resize\", \"3840x1080>\"}` value will be parsed into valid list of the settings." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.Local > :uploads" msgid "Path where user's uploads will be saved" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :bucket" msgid "S3 bucket" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :bucket_namespace" msgid "S3 bucket namespace" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :streaming_enabled" msgid "Enable streaming uploads, when enabled the file will be sent to the server in chunks as it's being read. This may be unsupported by some providers, try disabling this if you have upload problems." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :truncated_namespace" msgid "If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc. For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in Upload base_url." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.User > :email_blacklist" msgid "List of email domains users may not register with." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.User > :restricted_nicknames" msgid "List of nicknames users may not register with." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.User.Backup > :limit_days" msgid "Limit user to export not more often than once per N days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.User.Backup > :purge_after_days" msgid "Remove backup achives after N days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate > :strict" msgid "Enables strict input validation (useful in development, not recommended in production)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :headers" msgid "HTTP headers of request" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :method" msgid "HTTP method of request. Default: :purge" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options" msgid "Request options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :script_path" msgid "Path to executable script which will purge cached items." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :url_format" msgid "Optional URL format preprocessing. Only required for Apache's htcacheclean." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Metadata > :providers" msgid "List of metadata providers to enable" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Metadata > :unfurl_nsfw" msgid "When enabled NSFW attachments will be shown in previews" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :enabled" msgid "Enable/disable the plug. Default: disabled." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :headers" msgid " A list of strings naming the HTTP headers to use when deriving the true client IP. Default: `[\"x-forwarded-for\"]`.\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :proxies" msgid "A list of upstream proxy IP subnets in CIDR notation from which we will parse the content of `headers`. Defaults to `[]`. IPv4 entries without a bitmask will be assumed to be /32 and IPv6 /128." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :reserved" msgid " A list of reserved IP subnets in CIDR notation which should be ignored if found in `headers`. Defaults to `[\"127.0.0.0/8\", \"::1/128\", \"fc00::/7\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"]`\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Web.Preload > :providers" msgid "List of preload providers to enable" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :enabled" msgid "Enables expired activities addition & deletion" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :min_lifetime" msgid "Minimum lifetime for ephemeral activity (in seconds)" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" -msgid "Enables HTTP Basic Auth for app metrics endpoint." -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled" -msgid "[Pleroma extension] Enables app metrics endpoint." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" -msgid "App metrics endpoint output format." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :ip_whitelist" -msgid "Restrict access of app metrics endpoint to the specified IP addresses." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" -msgid "App metrics endpoint URI path." -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :quack > :level" -msgid "Log level" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :quack > :meta" -msgid "Configure which metadata you want to report on" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :quack > :webhook_url" -msgid "Configure the Slack incoming webhook" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config description at :web_push_encryption-:vapid_details > :private_key" msgid "VAPID private key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :web_push_encryption-:vapid_details > :public_key" msgid "VAPID public key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config description at :web_push_encryption-:vapid_details > :subject" msgid "A mailto link for the administrative contact. It's best if this email is not a personal email address, but rather a group email to the instance moderation team." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :cors_plug > :credentials" msgid "Credentials" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :cors_plug > :expose" msgid "Expose" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :cors_plug > :headers" msgid "Headers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :cors_plug > :max_age" msgid "Max age" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :cors_plug > :methods" msgid "Methods" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd > :enabled" -msgid "Enabled" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd > :handler" -msgid "Handler" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd > :password_authenticator" -msgid "Password authenticator" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd > :port" -msgid "Port" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :esshd > :priv_dir" -msgid "Priv dir" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :ex_aws-:s3 > :access_key_id" msgid "Access key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :ex_aws-:s3 > :host" msgid "Host" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :ex_aws-:s3 > :region" msgid "Region" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :ex_aws-:s3 > :secret_access_key" msgid "Secret access key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger > :backends" msgid "Backends" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:console > :format" msgid "Format" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:console > :level" msgid "Level" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:console > :metadata" msgid "Metadata" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:ex_syslogger > :format" msgid "Format" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:ex_syslogger > :ident" msgid "Ident" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:ex_syslogger > :level" msgid "Level" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :logger-:ex_syslogger > :metadata" msgid "Metadata" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime > :types" msgid "Types" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime > :types > application/activity+json" msgid "\"application/activity+json\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime > :types > application/jrd+json" msgid "\"application/jrd+json\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime > :types > application/ld+json" msgid "\"application/ld+json\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime > :types > application/xml" msgid "\"application/xml\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :mime > :types > application/xrd+xml" msgid "\"application/xrd+xml\"" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma > :admin_token" msgid "Admin token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma > Pleroma.Web.Auth.Authenticator" msgid "Pleroma.Web.Auth.Authenticator" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub > :blockers_visible" msgid "Blockers visible" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub > :follow_handshake_timeout" msgid "Follow handshake timeout" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub > :note_replies_output_limit" msgid "Note replies output limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub > :outgoing_blocks" msgid "Outgoing blocks" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub > :sign_object_fetches" msgid "Sign object fetches" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:activitypub > :unfollow_blocked" msgid "Unfollow blocked" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:assets > :default_mascot" msgid "Default mascot" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:assets > :default_user_avatar" msgid "Default user avatar" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:assets > :mascots" msgid "Mascots" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:auth > :auth_template" msgid "Auth template" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:auth > :enforce_oauth_admin_scope_usage" msgid "Enforce OAuth admin scope usage" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:auth > :oauth_consumer_strategies" msgid "OAuth consumer strategies" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:auth > :oauth_consumer_template" msgid "OAuth consumer template" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" -msgid "Connect timeout" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:connections_pool > :connection_acquisition_retries" -msgid "Connection acquisition retries" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:connections_pool > :connection_acquisition_wait" -msgid "Connection acquisition wait" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:connections_pool > :max_connections" -msgid "Max connections" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "Reclaim multiplier" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:email_notifications > :digest" msgid "Digest" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:email_notifications > :digest > :active" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:email_notifications > :digest > :inactivity_threshold" msgid "Inactivity threshold" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:email_notifications > :digest > :interval" msgid "Interval" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:email_notifications > :digest > :schedule" msgid "Schedule" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:emoji > :default_manifest" msgid "Default manifest" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:emoji > :groups" msgid "Groups" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:emoji > :pack_extensions" msgid "Pack extensions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:emoji > :shared_pack_cache_seconds_per_file" msgid "Shared pack cache s/file" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:emoji > :shortcode_globs" msgid "Shortcode globs" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:features > :improved_hashtag_timeline" msgid "Improved hashtag timeline" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:feed > :post_title" msgid "Post title" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:feed > :post_title > :max_length" msgid "Max length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:feed > :post_title > :omission" msgid "Omission" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe" msgid "Pleroma FE" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :alwaysShowSubjectInput" msgid "Always show subject input" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :background" msgid "Background" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :collapseMessageWithSubject" msgid "Collapse message with subject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :greentext" msgid "Greentext" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideFilteredStatuses" msgid "Hide Filtered Statuses" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideMutedPosts" msgid "Hide Muted Posts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hidePostStats" msgid "Hide post stats" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSitename" -msgid "Hide Sitename" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideUserStats" msgid "Hide user stats" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logo" msgid "Logo" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logoMargin" msgid "Logo margin" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logoMask" msgid "Logo mask" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :minimalScopesMode" -msgid "Minimal scopes mode" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :nsfwCensorImage" msgid "NSFW Censor Image" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :postContentType" msgid "Post Content Type" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootLogin" msgid "Redirect root login" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootNoLogin" msgid "Redirect root no login" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :scopeCopy" msgid "Scope copy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showFeaturesPanel" msgid "Show instance features panel" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showInstanceSpecificPanel" msgid "Show instance specific panel" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :sidebarRight" msgid "Sidebar on Right" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :subjectLineBehavior" msgid "Subject line behavior" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :theme" msgid "Theme" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :admin" msgid "Admin" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :admin > name" msgid "Name" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :admin > ref" msgid "Reference" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available" msgid "Available" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available > build_dir" msgid "Build directory" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available > build_url" msgid "Build URL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available > custom-http-headers" msgid "Custom HTTP headers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available > git" msgid "Git Repository URL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available > name" msgid "Name" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :available > ref" msgid "Reference" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :primary" msgid "Primary" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :primary > name" msgid "Name" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:frontends > :primary > ref" msgid "Reference" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:gopher > :dstport" -msgid "Dstport" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:gopher > :enabled" -msgid "Enabled" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:gopher > :ip" -msgid "IP" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:gopher > :port" -msgid "Port" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :federation" -msgid "Federation" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :federation > :max_connections" -msgid "Max connections" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :media" -msgid "Media" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Max connections" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :upload" -msgid "Upload" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Max connections" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:http > :adapter" msgid "Adapter" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http > :adapter > :ssl_options" msgid "SSL Options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http > :adapter > :ssl_options > :versions" msgid "Versions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http > :proxy_url" msgid "Proxy URL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:http > :send_user_agent" -msgid "Send user agent" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:http > :user_agent" msgid "User agent" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http_security > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http_security > :referrer_policy" msgid "Referrer policy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http_security > :report_uri" msgid "Report URI" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http_security > :sts" msgid "STS" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:http_security > :sts_max_age" msgid "STS max age" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :account_activation_required" msgid "Account activation required" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :account_approval_required" msgid "Account approval required" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :account_field_name_length" msgid "Account field name length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :account_field_value_length" msgid "Account field value length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :allow_relay" msgid "Allow relay" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :allowed_post_formats" msgid "Allowed post formats" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :attachment_links" msgid "Attachment links" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :autofollowed_nicknames" msgid "Autofollowed nicknames" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :autofollowing_nicknames" msgid "Autofollowing nicknames" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :avatar_upload_limit" msgid "Avatar upload limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :background_upload_limit" msgid "Background upload limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :banner_upload_limit" msgid "Banner upload limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:instance > :birthday_min_age" -msgid "Birthday min age" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:instance > :birthday_required" -msgid "Birthday required" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:instance > :cleanup_attachments" msgid "Cleanup attachments" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :description" msgid "Description" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :email" msgid "Admin Email Address" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :extended_nickname_format" msgid "Extended nickname format" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :external_user_synchronization" msgid "External user synchronization" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :federating" msgid "Federating" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :federation_incoming_replies_max_depth" msgid "Fed. incoming replies max depth" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :federation_reachability_timeout_days" msgid "Fed. reachability timeout days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :healthcheck" msgid "Healthcheck" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :instance_thumbnail" msgid "Instance thumbnail" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :invites_enabled" msgid "Invites enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :limit" msgid "Limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :limit_to_local_content" msgid "Limit to local content" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :max_account_fields" msgid "Max account fields" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:instance > :max_endorsed_users" -msgid "Max endorsed users" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:instance > :max_media_attachments" -msgid "Max media attachments" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:instance > :max_pinned_statuses" msgid "Max pinned statuses" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :max_remote_account_fields" msgid "Max remote account fields" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :max_report_comment_size" msgid "Max report comment size" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication" msgid "Multi factor authentication" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes" msgid "Backup codes" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :length" msgid "Length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :number" msgid "Number" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp" msgid "TOTP settings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp > :digits" msgid "Digits" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp > :period" msgid "Period" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :name" msgid "Name" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :notify_email" msgid "Sender Email Address" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :poll_limits" msgid "Poll limits" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :poll_limits > :max_expiration" msgid "Max expiration" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :poll_limits > :max_option_chars" msgid "Max option chars" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :poll_limits > :max_options" msgid "Max options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :poll_limits > :min_expiration" msgid "Min expiration" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :privileged_staff" msgid "Privileged staff" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :profile_directory" msgid "Profile directory" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :public" msgid "Public" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :quarantined_instances" msgid "Quarantined instances" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :registration_reason_length" msgid "Registration reason length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :registrations_open" msgid "Registrations open" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :remote_limit" msgid "Remote limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :remote_post_retention_days" msgid "Remote post retention days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :safe_dm_mentions" msgid "Safe DM mentions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :show_reactions" msgid "Show reactions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :skip_thread_containment" msgid "Skip thread containment" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :static_dir" msgid "Static dir" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :upload_limit" msgid "Upload limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :user_bio_length" msgid "User bio length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instance > :user_name_length" msgid "User name length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:instances_favicons > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :base" msgid "Base" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :host" msgid "Host" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :port" msgid "Port" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :ssl" msgid "SSL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :sslopts" msgid "SSL options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :sslopts > :cacertfile" msgid "Cacertfile" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :sslopts > :verify" msgid "Verify" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :tls" msgid "TLS" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :tlsopts" msgid "TLS options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :tlsopts > :cacertfile" msgid "Cacertfile" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :tlsopts > :verify" msgid "Verify" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:ldap > :uid" msgid "UID" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:majic_pool > :size" msgid "Size" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:manifest > :background_color" msgid "Background color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:manifest > :icons" msgid "Icons" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:manifest > :theme_color" msgid "Theme color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:markup > :allow_fonts" msgid "Allow fonts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:markup > :allow_headings" msgid "Allow headings" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:markup > :allow_inline_images" msgid "Allow inline images" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:markup > :allow_tables" msgid "Allow tables" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:markup > :scrub_policy" msgid "Scrub policy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_preview_proxy > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_preview_proxy > :image_quality" msgid "Image quality" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_preview_proxy > :min_content_length" msgid "Min content length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_preview_proxy > :thumbnail_max_height" msgid "Thumbnail max height" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_preview_proxy > :thumbnail_max_width" msgid "Thumbnail max width" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :base_url" msgid "Base URL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :invalidation" msgid "Invalidation" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :invalidation > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :invalidation > :provider" msgid "Provider" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :proxy_opts" msgid "Advanced MediaProxy Options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :max_body_length" msgid "Max body length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :max_read_duration" msgid "Max read duration" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :redirect_on_failure" msgid "Redirect on failure" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:media_proxy > :whitelist" msgid "Whitelist" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:modules > :runtime_dir" msgid "Runtime dir" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf > :policies" msgid "Policies" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf > :transparency" msgid "MRF transparency" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf > :transparency_exclusions" msgid "MRF transparency exclusions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_activity_expiration > :days" msgid "Days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_follow_bot > :follower_nickname" msgid "Follower nickname" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hashtag > :federated_timeline_removal" msgid "Federated timeline removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hashtag > :reject" msgid "Reject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hashtag > :sensitive" msgid "Sensitive" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hellthread > :delist_threshold" msgid "Delist threshold" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_hellthread > :reject_threshold" msgid "Reject threshold" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_keyword > :federated_timeline_removal" msgid "Federated timeline removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_keyword > :reject" msgid "Reject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_keyword > :replace" msgid "Replace" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_mention > :actors" msgid "Actors" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_normalize_markup > :scrub_policy" msgid "Scrub policy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_object_age > :actions" msgid "Actions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_object_age > :threshold" msgid "Threshold" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_rejectnonpublic > :allow_direct" msgid "Allow direct" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_rejectnonpublic > :allow_followersonly" msgid "Allow followers-only" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :accept" msgid "Accept" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :avatar_removal" msgid "Avatar removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :banner_removal" msgid "Banner removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :federated_timeline_removal" msgid "Federated timeline removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :followers_only" msgid "Followers only" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :media_nsfw" msgid "Media NSFW" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :media_removal" msgid "Media removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :reject" msgid "Reject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :reject_deletes" msgid "Reject deletes" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_simple > :report_removal" msgid "Report removal" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_steal_emoji > :hosts" msgid "Hosts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_steal_emoji > :rejected_shortcodes" msgid "Rejected shortcodes" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_steal_emoji > :size_limit" msgid "Size limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_subchain > :match_actor" msgid "Match actor" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_vocabulary > :accept" msgid "Accept" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:mrf_vocabulary > :reject" msgid "Reject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:oauth2 > :clean_expired_tokens" msgid "Clean expired tokens" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:oauth2 > :issue_new_refresh_token" msgid "Issue new refresh token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:oauth2 > :token_expires_in" msgid "Token expires in" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :default" -msgid "Default" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :default > :max_waiting" -msgid "Max waiting" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :default > :recv_timeout" -msgid "Recv timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :default > :size" -msgid "Size" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :federation" -msgid "Federation" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" -msgid "Max waiting" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" -msgid "Recv timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :federation > :size" -msgid "Size" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :media" -msgid "Media" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :media > :max_waiting" -msgid "Max waiting" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" -msgid "Recv timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :media > :size" -msgid "Size" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :upload" -msgid "Upload" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" -msgid "Max waiting" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" -msgid "Recv timeout" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:pools > :upload > :size" -msgid "Size" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:populate_hashtags_table > :fault_rate_allowance" msgid "Fault rate allowance" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:populate_hashtags_table > :sleep_interval_ms" msgid "Sleep interval ms" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :app_account_creation" msgid "App account creation" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :authentication" msgid "Authentication" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :relation_id_action" msgid "Relation ID action" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :relations_actions" msgid "Relations actions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :search" msgid "Search" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :status_id_action" msgid "Status ID action" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :statuses_actions" msgid "Statuses actions" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rate_limit > :timeline" msgid "Timeline" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities" msgid "Activities" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities > :local" msgid "Local" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities > :remote" msgid "Remote" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles" msgid "Profiles" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles > :local" msgid "Local" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles > :remote" msgid "Remote" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines" msgid "Timelines" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines > :federated" msgid "Federated" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines > :local" msgid "Local" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media > :failure_backoff" msgid "Failure backoff" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media > :ignore_hosts" msgid "Ignore hosts" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media > :ignore_tld" msgid "Ignore TLD" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media > :parsers" msgid "Parsers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:rich_media > :ttl_setters" msgid "TTL setters" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:shout > :enabled" -msgid "Enabled" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:shout > :limit" -msgid "Limit" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:static_fe > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:streamer > :overflow_workers" msgid "Overflow workers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:streamer > :workers" msgid "Workers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:uri_schemes > :valid_schemes" msgid "Valid schemes" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:user > :deny_follow_blocked" msgid "Deny follow blocked" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub" msgid "Activity pub" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub_question" msgid "Activity pub question" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:welcome > :chat_message" -msgid "Chat message" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enabled" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:welcome > :chat_message > :message" -msgid "Message" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "Sender nickname" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:welcome > :direct_message" msgid "Direct message" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :direct_message > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :direct_message > :message" msgid "Message" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :direct_message > :sender_nickname" msgid "Sender nickname" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :email" msgid "Email" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :email > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :email > :html" msgid "Html" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :email > :sender" msgid "Sender" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :email > :subject" msgid "Subject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:welcome > :email > :text" msgid "Text" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-:workers > :retries" msgid "Retries" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" msgid "Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_running" msgid "Max running" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_waiting" msgid "Max waiting" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers" msgid "Pleroma.Web.RichMedia.Helpers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_running" msgid "Max running" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_waiting" msgid "Max waiting" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :crontab" msgid "Crontab" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :log" msgid "Log" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues" msgid "Queues" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :activity_expiration" msgid "Activity expiration" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :attachments_cleanup" msgid "Attachments cleanup" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :background" msgid "Background" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :backup" msgid "Backup" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :federator_incoming" msgid "Federator incoming" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :federator_outgoing" msgid "Federator outgoing" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :mailer" msgid "Mailer" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :scheduled_activities" msgid "Scheduled activities" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :transmogrifier" msgid "Transmogrifier" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Oban > :queues > :web_push" msgid "Web push" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Captcha > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Captcha > :method" msgid "Method" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Captcha > :seconds_valid" msgid "Seconds valid" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Captcha.Kocaptcha > :endpoint" msgid "Endpoint" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > :adapter" msgid "Adapter" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > :enabled" msgid "Mailer Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:access_key" msgid "AWS Access Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:region" msgid "AWS Region" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:secret" msgid "AWS Secret Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Dyn-:api_key" msgid "Dyn API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Gmail-:access_token" msgid "GMail API Access Token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailgun-:api_key" msgid "Mailgun API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailgun-:domain" msgid "Domain" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailjet-:api_key" msgid "MailJet Public API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailjet-:secret" msgid "MailJet Private API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mandrill-:api_key" msgid "Mandrill API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Postmark-:api_key" msgid "Postmark API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:auth" msgid "AUTH Mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:password" msgid "Password" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:port" msgid "Port" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:relay" msgid "Relay" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:retries" msgid "Retries" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:ssl" msgid "Use SSL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:tls" msgid "STARTTLS Mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:username" msgid "Username" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendgrid-:api_key" msgid "SendGrid API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:cmd_args" msgid "Cmd args" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:cmd_path" msgid "Cmd path" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:qmail" msgid "Qmail compat mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SocketLabs-:api_key" msgid "SocketLabs API Key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SocketLabs-:server_id" msgid "Server ID" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SparkPost-:api_key" msgid "SparkPost API key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SparkPost-:endpoint" msgid "Endpoint" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.NewUsersDigestEmail > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :logo" msgid "Logo" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling" msgid "Styling" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :background_color" msgid "Background color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :content_background_color" msgid "Content background color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :header_color" msgid "Header color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :link_color" msgid "Link color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :text_color" msgid "Text color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :text_muted_color" msgid "Text muted color" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :class" msgid "Class" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :extra" msgid "Extra" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :new_window" msgid "New window" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :rel" msgid "Rel" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :strip_prefix" msgid "Strip prefix" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :truncate" msgid "Truncate" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Formatter > :validate_tld" msgid "Validate tld" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :daily_user_limit" msgid "Daily user limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :total_user_limit" msgid "Total user limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload > :base_url" msgid "Base URL" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload > :filename_display_max_length" msgid "Filename display max length" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload > :filters" msgid "Filters" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload > :link_name" msgid "Link name" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload > :proxy_remote" msgid "Proxy remote" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload > :uploader" msgid "Uploader" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename > :text" msgid "Text" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Upload.Filter.Mogrify > :args" msgid "Args" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.Local > :uploads" msgid "Uploads" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :bucket" msgid "Bucket" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :bucket_namespace" msgid "Bucket namespace" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :streaming_enabled" msgid "Streaming enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :truncated_namespace" msgid "Truncated namespace" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.User > :email_blacklist" msgid "Email blacklist" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.User > :restricted_nicknames" msgid "Restricted nicknames" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.User.Backup > :limit_days" msgid "Limit days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.User.Backup > :purge_after_days" msgid "Purge after days" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate > :strict" msgid "Strict" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :headers" msgid "Headers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :method" msgid "Method" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options" msgid "Options" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options > :params" msgid "Params" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :script_path" msgid "Script path" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :url_format" msgid "URL Format" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Metadata > :providers" msgid "Providers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Metadata > :unfurl_nsfw" msgid "Unfurl NSFW" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :headers" msgid "Headers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :proxies" msgid "Proxies" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :reserved" msgid "Reserved" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Web.Preload > :providers" msgid "Providers" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :enabled" msgid "Enabled" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :min_lifetime" msgid "Min lifetime" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" -msgid "Auth" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled" -msgid "Enabled" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" -msgid "Format" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :ip_whitelist" -msgid "IP Whitelist" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" -msgid "Path" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :quack > :level" -msgid "Level" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :quack > :meta" -msgid "Meta" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :quack > :webhook_url" -msgid "Webhook URL" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :web_push_encryption-:vapid_details > :private_key" msgid "Private key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :web_push_encryption-:vapid_details > :public_key" msgid "Public key" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format msgctxt "config label at :web_push_encryption-:vapid_details > :subject" msgid "Subject" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" -msgid "Require HTTP signatures for AP fetches" -msgstr "" - #, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 -msgctxt "config description at :pleroma-:instance > :short_description" -msgid "Shorter version of instance description. It can be seen on `/api/v1/instance`" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/docs/translator.ex:5 msgctxt "config label at :pleroma-:activitypub > :authorized_fetch_mode" msgid "Authorized fetch mode" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/docs/translator.ex:5 -msgctxt "config label at :pleroma-:instance > :short_description" -msgid "Short description" +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" +msgid "Require HTTP signatures on AP fetches" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:activitypub > :max_collection_objects" +msgid "The maximum number of items to fetch from a remote collections. Setting this too low can lead to only getting partial collections, but too high and you can end up fetching far too many objects." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:argos_translate" +msgid "ArgosTranslate Settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:argos_translate > :command_argos_translate" +msgid "command for `argos-translate`. Can be the command if it's in your PATH, or the full path to the file." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:argos_translate > :command_argospm" +msgid "command for `argospm`. Can be the command if it's in your PATH, or the full path to the file." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:argos_translate > :strip_html" +msgid "Strip html from the post before translating it." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:deepl" +msgid "DeepL Settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:deepl > :api_key" +msgid "API key for DeepL" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:deepl > :tier" +msgid "API Tier" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations" +msgid "This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for pleroma_fe and masto_fe are configured. If you want to add your own configuration your settings all fields must be complete." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe" +msgid "Settings for Masto FE" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe > :showInstanceSpecificPanel" +msgid "Whenether to show the instance's specific panel" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :conversationDisplay" +msgid "How to display conversations (linear or tree)" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteFavicon" +msgid "Whether to hide the instance favicon from the navbar" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteName" +msgid "Whether to hide the site name from the navbar" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :renderMisskeyMarkdown" +msgid "Whether to render Misskey-flavoured markdown" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showNavShortcuts" +msgid "Whether to put extra navigation options on the navbar" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showPanelNavShortcuts" +msgid "Whether to put timeline nav tabs on the top of the panel" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showWiderShortcuts" +msgid "Whether to add extra space between navbar icons" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Whether to pause animated images until they're hovered on" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :mastodon" +msgid "Mastodon frontend" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :mastodon > name" +msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :mastodon > ref" +msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :swagger" +msgid "Swagger API reference frontend" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :swagger > enabled" +msgid "Whether to have this enabled at all" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :swagger > name" +msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:frontends > :swagger > ref" +msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:http > :pool_size" +msgid "Number of concurrent outbound HTTP requests to allow. Default 50." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:http > :pool_timeout" +msgid "Timeout for initiating HTTP requests (in ms, default 5000)" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:http > :proxy_url" +msgid "Proxy URL - of the format http://host:port. Advise setting in .exs instead of admin-fe due to this being set at boot-time." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:http > :receive_timeout" +msgid "Timeout for waiting on remote servers to respond to HTTP requests (in ms, default 15000)" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :export_prometheus_metrics" +msgid "Enable prometheus metrics (at /api/v1/akkoma/metrics)" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :languages" +msgid "Languages the instance uses" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :local_bubble" +msgid "List of instances that make up your local bubble (closely-related instances). Used to populate the 'bubble' timeline (domain only)." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :privileged_staff" +msgid "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses)" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :public" +msgid "Switching this on will allow unauthenticated users access to all public resources on your instance Switching it off is useful for disabling the Local Timeline and The Whole Known Network. Note: when setting to `false`, please also check `:restrict_unauthenticated` setting." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :quarantined_instances" +msgid "(Deprecated, will be removed in next release) List of ActivityPub instances where activities will not be sent, and the reason for doing so" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instances_nodeinfo" +msgid "Control favicons for instances" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instances_nodeinfo > :enabled" +msgid "Allow/disallow getting instance nodeinfo" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:libre_translate" +msgid "LibreTranslate Settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:libre_translate > :api_key" +msgid "API key for libretranslate" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:libre_translate > :url" +msgid "URL for libretranslate" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:manifest > :background_color" +msgid "Describe the background color of the app - this is only used for mastodon-fe" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:manifest > :theme_color" +msgid "Describe the theme color of the app - this is only used for mastodon-fe" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "Obfuscate domains in MRF transparency. This is useful if the domain you're blocking contains words you don't want displayed, but still want to disclose the MRF settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:mrf_inline_quote" +msgid "Force quote post URLs inline" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix before the link" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:mrf_simple > :handle_threads" +msgid "Enable to filter replies to threads based from their originating instance, using the reject and accept rules" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated" +msgid "Disallow unauthenticated viewing of timelines, user profiles and statuses." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities" +msgid "Settings for posts." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :local" +msgid "Disallow viewing local posts." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :remote" +msgid "Disallow viewing remote posts." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :local" +msgid "Disallow viewing local user profiles." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :remote" +msgid "Disallow viewing remote user profiles." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :federated" +msgid "Disallow viewing the whole known network timeline." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :local" +msgid "Disallow viewing the public timeline." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:translator" +msgid "Translation Settings" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:translator > :enabled" +msgid "Is translation enabled?" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:translator > :module" +msgid "Translation module." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:workers > :timeout" +msgid "Timeout for jobs, per `Oban` queue, in ms" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search" +msgid "General search settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search > :module" +msgid "Selected search module." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "The indices to set up in Elasticsearch" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities" +msgid "Config for the index to use for activities" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_page_size" +msgid "Size for bulk put requests, mostly used on building the index" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_wait_interval" +msgid "Time to wait between bulk put requests (in ms)" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :settings" +msgid "Path to the file containing index settings for the activities index. Should contain a mapping." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :sources" +msgid "The internal types to use for this index" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :store" +msgid "The internal store module" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "The JSON module used to encode/decode when communicating with Elasticsearch" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Elasticsearch URL." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch" +msgid "Meilisearch settings." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :initial_indexing_chunk_size" +msgid "Amount of posts in a batch when running the initial indexing operation. Should probably not be more than 100000 since there's a limit on maximum insert size" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key for meilisearch authentication, or `nil` to disable private key authentication." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Meilisearch URL." +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Specific provider to hand out themes to instances that scrape index.html" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "The 'accent color' of the instance, used in places like misskey's instance ticker" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:activitypub > :max_collection_objects" +msgid "Max collection objects" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:argos_translate" +msgid "Argos translate" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:argos_translate > :command_argos_translate" +msgid "Command argos translate" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:argos_translate > :command_argospm" +msgid "Command argospm" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:argos_translate > :strip_html" +msgid "Strip html" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:deepl" +msgid "DeepL" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:deepl > :api_key" +msgid "Api key" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:deepl > :tier" +msgid "Tier" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe" +msgid "Masto FE" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe > :showInstanceSpecificPanel" +msgid "Show instance specific panel" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :conversationDisplay" +msgid "Conversation display style" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteFavicon" +msgid "Hide site favicon" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteName" +msgid "Hide site name" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :renderMisskeyMarkdown" +msgid "Render misskey markdown" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showNavShortcuts" +msgid "Show navbar shortcuts" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showPanelNavShortcuts" +msgid "Show timeline panel nav shortcuts" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showWiderShortcuts" +msgid "Increase navbar shortcut spacing" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Stop Gifs" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :mastodon" +msgid "Mastodon" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :mastodon > name" +msgid "Name" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :mastodon > ref" +msgid "Reference" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :swagger" +msgid "Swagger" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :swagger > enabled" +msgid "Enabled" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :swagger > name" +msgid "Name" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:frontends > :swagger > ref" +msgid "Reference" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:http > :pool_size" +msgid "Pool size" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:http > :pool_timeout" +msgid "HTTP Pool Request Timeout" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:http > :receive_timeout" +msgid "HTTP Receive Timeout" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:instance > :export_prometheus_metrics" +msgid "Export prometheus metrics" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:instance > :languages" +msgid "Languages" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:instance > :local_bubble" +msgid "Local bubble" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:instances_nodeinfo" +msgid "Instances nodeinfo" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:instances_nodeinfo > :enabled" +msgid "Enabled" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:libre_translate" +msgid "Libre translate" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:libre_translate > :api_key" +msgid "Api key" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:libre_translate > :url" +msgid "Url" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "MRF domain obfuscation" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:mrf_inline_quote" +msgid "MRF Inline Quote" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:mrf_simple > :handle_threads" +msgid "Apply to entire threads" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:translator" +msgid "Translator" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:translator > :enabled" +msgid "Enabled" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:translator > :module" +msgid "Module" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-:workers > :timeout" +msgid "Timeout" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search" +msgid "Search" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search > :module" +msgid "Module" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "Api" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "Indexes" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities" +msgid "Activities" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_page_size" +msgid "Bulk page size" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_wait_interval" +msgid "Bulk wait interval" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :settings" +msgid "Settings" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :sources" +msgid "Sources" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :store" +msgid "Store" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "Json library" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Url" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch" +msgid "Pleroma.Search.Meilisearch" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :initial_indexing_chunk_size" +msgid "Initial indexing chunk size" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Url" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Pleroma.Web.Metadata.Providers.Theme" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "Theme color" +msgstr "" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format +msgctxt "config description at :pleroma-:instance > :healthcheck" +msgid "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 10a62d2a8..2302a2f16 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -10,176 +10,266 @@ msgid "" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:122 +#, elixir-autogen, elixir-format msgid "%{name} - %{count} is not a multiple of %{multiple}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:131 +#, elixir-autogen, elixir-format msgid "%{name} - %{value} is larger than exclusive maximum %{max}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:140 +#, elixir-autogen, elixir-format msgid "%{name} - %{value} is larger than inclusive maximum %{max}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:149 +#, elixir-autogen, elixir-format msgid "%{name} - %{value} is smaller than exclusive minimum %{min}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:158 +#, elixir-autogen, elixir-format msgid "%{name} - %{value} is smaller than inclusive minimum %{min}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:102 +#, elixir-autogen, elixir-format msgid "%{name} - Array items must be unique." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:114 +#, elixir-autogen, elixir-format msgid "%{name} - Array length %{length} is larger than maxItems: %{}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:106 +#, elixir-autogen, elixir-format msgid "%{name} - Array length %{length} is smaller than minItems: %{min}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:166 +#, elixir-autogen, elixir-format msgid "%{name} - Invalid %{type}. Got: %{value}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:174 +#, elixir-autogen, elixir-format msgid "%{name} - Invalid format. Expected %{format}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:51 +#, elixir-autogen, elixir-format msgid "%{name} - Invalid schema.type. Got: %{type}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:178 +#, elixir-autogen, elixir-format msgid "%{name} - Invalid value for enum." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:95 +#, elixir-autogen, elixir-format msgid "%{name} - String length is larger than maxLength: %{length}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:88 +#, elixir-autogen, elixir-format msgid "%{name} - String length is smaller than minLength: %{length}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:63 +#, elixir-autogen, elixir-format msgid "%{name} - null value where %{type} expected." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:60 +#, elixir-autogen, elixir-format msgid "%{name} - null value." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:182 +#, elixir-autogen, elixir-format msgid "Failed to cast to any schema in %{polymorphic_type}" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:71 +#, elixir-autogen, elixir-format msgid "Failed to cast value as %{invalid_schema}. Value must be castable using `allOf` schemas listed." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:84 +#, elixir-autogen, elixir-format msgid "Failed to cast value to one of: %{failed_schemas}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:78 +#, elixir-autogen, elixir-format msgid "Failed to cast value using any of: %{failed_schemas}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:212 +#, elixir-autogen, elixir-format msgid "Invalid value for header: %{name}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:204 +#, elixir-autogen, elixir-format msgid "Missing field: %{name}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:208 +#, elixir-autogen, elixir-format msgid "Missing header: %{name}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:196 +#, elixir-autogen, elixir-format msgid "No value provided for required discriminator `%{field}`." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:216 +#, elixir-autogen, elixir-format msgid "Object property count %{property_count} is greater than maxProperties: %{max_properties}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:224 +#, elixir-autogen, elixir-format msgid "Object property count %{property_count} is less than minProperties: %{min_properties}" msgstr "" -#, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/static_fe/static_fe/error.html.eex:2 -msgid "Oops" -msgstr "" - -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:188 +#, elixir-autogen, elixir-format msgid "Unexpected field: %{name}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:200 +#, elixir-autogen, elixir-format msgid "Unknown schema: %{name}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/api_spec/render_error.ex:192 +#, elixir-autogen, elixir-format msgid "Value used as discriminator for `%{field}` matches no schemas." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/embed/show.html.eex:43 -#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:37 +#, elixir-autogen, elixir-format msgid "announces" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/embed/show.html.eex:44 -#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:38 +#, elixir-autogen, elixir-format msgid "likes" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/embed/show.html.eex:42 -#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:36 +#, elixir-autogen, elixir-format msgid "replies" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/embed/show.html.eex:27 -#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:22 +#, elixir-autogen, elixir-format msgid "sensitive media" msgstr "" + +#: lib/pleroma/web/templates/layout/static_fe.html.eex:29 +#, elixir-autogen, elixir-format +msgid "About %{instance}" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:24 +#, elixir-autogen, elixir-format +msgid "Admin" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:30 +#, elixir-autogen, elixir-format +msgid "Bot" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex:3 +#, elixir-autogen, elixir-format +msgid "Conversation" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:59 +#, elixir-autogen, elixir-format +msgid "Edited %{timeago}" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/error.html.eex:3 +#, elixir-autogen, elixir-format +msgid "Error" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:56 +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:91 +#, elixir-autogen, elixir-format +msgid "Followers" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:52 +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:84 +#, elixir-autogen, elixir-format +msgid "Following" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:53 +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:57 +#, elixir-autogen, elixir-format +msgid "Hidden" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/_attachment.html.eex:4 +#, elixir-autogen, elixir-format +msgid "Hover to show content" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:97 +#, elixir-autogen, elixir-format +msgid "Media" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:27 +#, elixir-autogen, elixir-format +msgid "Moderator" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:48 +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:73 +#, elixir-autogen, elixir-format +msgid "Posts" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:46 +#, elixir-autogen, elixir-format +msgid "Reply to" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:67 +#, elixir-autogen, elixir-format +msgid "Show content" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:102 +#, elixir-autogen, elixir-format +msgid "Show newer" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:140 +#, elixir-autogen, elixir-format +msgid "Show older" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:78 +#, elixir-autogen, elixir-format +msgid "With Replies" +msgstr "" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:127 +#, elixir-autogen, elixir-format +msgid "repeated" +msgstr "" diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot index 85854d23e..8d62a1726 100644 --- a/priv/gettext/errors.pot +++ b/priv/gettext/errors.pot @@ -89,376 +89,363 @@ msgstr "" msgid "must be equal to %{number}" msgstr "" +#: lib/pleroma/web/common_api.ex:503 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:523 msgid "Account not found" msgstr "" +#: lib/pleroma/web/common_api.ex:263 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:316 msgid "Already voted" msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:427 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:402 msgid "Bad request" msgstr "" +#: lib/pleroma/web/controller_helper.ex:105 #, elixir-autogen, elixir-format -#: lib/pleroma/web/controller_helper.ex:97 -#: lib/pleroma/web/controller_helper.ex:103 msgid "Can't display this activity" msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:334 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:325 msgid "Can't find user" msgstr "" +#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:61 #, elixir-autogen, elixir-format -#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:80 msgid "Can't get favorites" msgstr "" +#: lib/pleroma/web/common_api/utils.ex:473 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/utils.ex:482 msgid "Cannot post an empty status without attachments" msgstr "" +#: lib/pleroma/web/common_api/utils.ex:461 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/utils.ex:441 msgid "Comment must be up to %{max_size} characters" msgstr "" +#: lib/pleroma/config_db.ex:199 #, elixir-autogen, elixir-format -#: lib/pleroma/config_db.ex:200 msgid "Config with params %{params} not found" msgstr "" +#: lib/pleroma/web/common_api.ex:114 +#: lib/pleroma/web/common_api.ex:118 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:167 -#: lib/pleroma/web/common_api.ex:171 msgid "Could not delete" msgstr "" +#: lib/pleroma/web/common_api.ex:164 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:217 msgid "Could not favorite" msgstr "" +#: lib/pleroma/web/common_api.ex:201 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:254 msgid "Could not unfavorite" msgstr "" +#: lib/pleroma/web/common_api.ex:149 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:202 msgid "Could not unrepeat" msgstr "" +#: lib/pleroma/web/common_api.ex:510 +#: lib/pleroma/web/common_api.ex:519 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:530 -#: lib/pleroma/web/common_api.ex:539 msgid "Could not update state" msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:245 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:205 msgid "Error." msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:104 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:105 msgid "Invalid CAPTCHA" msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:143 +#: lib/pleroma/web/o_auth/o_auth_controller.ex:660 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:144 -#: lib/pleroma/web/o_auth/o_auth_controller.ex:631 msgid "Invalid credentials" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/plugs/ensure_authenticated_plug.ex:42 +#, elixir-autogen, elixir-format msgid "Invalid credentials." msgstr "" +#: lib/pleroma/web/common_api.ex:284 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:337 msgid "Invalid indices" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:29 +#, elixir-autogen, elixir-format msgid "Invalid parameters" msgstr "" +#: lib/pleroma/web/common_api/utils.ex:369 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/utils.ex:349 msgid "Invalid password." msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:264 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:255 msgid "Invalid request" msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:107 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:108 msgid "Kocaptcha service unavailable" msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:139 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:140 msgid "Missing parameters" msgstr "" +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:151 +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:177 +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:219 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/utils.ex:477 -msgid "No such conversation" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:171 -#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:197 -#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:239 msgid "No such permission_group" msgstr "" -#, elixir-autogen, elixir-format -#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:515 +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:502 #: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:11 #: lib/pleroma/web/feed/tag_controller.ex:16 -#: lib/pleroma/web/feed/user_controller.ex:69 -#: lib/pleroma/web/o_status/o_status_controller.ex:132 -#: lib/pleroma/web/plugs/uploaded_media.ex:84 +#: lib/pleroma/web/feed/user_controller.ex:70 +#: lib/pleroma/web/o_status/o_status_controller.ex:135 +#: lib/pleroma/web/plugs/uploaded_media.ex:83 +#, elixir-autogen, elixir-format msgid "Not found" msgstr "" +#: lib/pleroma/web/common_api.ex:255 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:308 msgid "Poll's author can't vote" msgstr "" -#, elixir-autogen, elixir-format +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:477 #: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:20 #: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:39 #: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:51 #: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:52 -#: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:326 #: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:71 +#, elixir-autogen, elixir-format msgid "Record not found" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:35 -#: lib/pleroma/web/feed/user_controller.ex:78 +#: lib/pleroma/web/feed/user_controller.ex:79 #: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:42 -#: lib/pleroma/web/o_status/o_status_controller.ex:138 +#: lib/pleroma/web/o_status/o_status_controller.ex:141 +#, elixir-autogen, elixir-format msgid "Something went wrong" msgstr "" +#: lib/pleroma/web/common_api/activity_draft.ex:156 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/activity_draft.ex:143 msgid "The message visibility must be direct" msgstr "" +#: lib/pleroma/web/common_api/utils.ex:483 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/utils.ex:492 msgid "The status is over the character limit" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex:36 +#, elixir-autogen, elixir-format msgid "This resource requires authentication." msgstr "" +#: lib/pleroma/web/plugs/rate_limiter.ex:214 #, elixir-autogen, elixir-format -#: lib/pleroma/web/plugs/rate_limiter.ex:208 msgid "Throttled" msgstr "" +#: lib/pleroma/web/common_api.ex:285 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:338 msgid "Too many choices" msgstr "" +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:248 #, elixir-autogen, elixir-format -#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:268 msgid "You can't revoke your own admin status." msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:267 +#: lib/pleroma/web/o_auth/o_auth_controller.ex:358 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:243 -#: lib/pleroma/web/o_auth/o_auth_controller.ex:333 msgid "Your account is currently disabled" msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:229 +#: lib/pleroma/web/o_auth/o_auth_controller.ex:381 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:205 -#: lib/pleroma/web/o_auth/o_auth_controller.ex:356 msgid "Your login is missing a confirmed e-mail address" msgstr "" +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:390 #, elixir-autogen, elixir-format -#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:403 msgid "can't read inbox of %{nickname} as %{as_nickname}" msgstr "" +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:489 #, elixir-autogen, elixir-format -#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:502 msgid "can't update outbox of %{nickname} as %{as_nickname}" msgstr "" +#: lib/pleroma/web/common_api.ex:455 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:475 msgid "conversation is already muted" msgstr "" +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:508 #, elixir-autogen, elixir-format -#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:521 msgid "error" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:34 +#, elixir-autogen, elixir-format msgid "mascots can only be images" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:63 +#, elixir-autogen, elixir-format msgid "not found" msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:462 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:437 msgid "Bad OAuth request." msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:113 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:114 msgid "CAPTCHA already used" msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:110 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:111 msgid "CAPTCHA expired" msgstr "" +#: lib/pleroma/web/plugs/uploaded_media.ex:56 #, elixir-autogen, elixir-format -#: lib/pleroma/web/plugs/uploaded_media.ex:57 msgid "Failed" msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:478 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:453 msgid "Failed to authenticate: %{message}." msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:509 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:484 msgid "Failed to set up user account." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/plugs/o_auth_scopes_plug.ex:37 +#, elixir-autogen, elixir-format msgid "Insufficient permissions: %{permissions}." msgstr "" +#: lib/pleroma/web/plugs/uploaded_media.ex:98 #, elixir-autogen, elixir-format -#: lib/pleroma/web/plugs/uploaded_media.ex:111 msgid "Internal Error" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/o_auth/fallback_controller.ex:22 #: lib/pleroma/web/o_auth/fallback_controller.ex:29 +#, elixir-autogen, elixir-format msgid "Invalid Username/Password" msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:116 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:117 msgid "Invalid answer data" msgstr "" +#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:130 #, elixir-autogen, elixir-format -#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:33 msgid "Nodeinfo schema version not handled" msgstr "" -#, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:194 -msgid "This action is outside the authorized scopes" -msgstr "" - -#, elixir-autogen, elixir-format #: lib/pleroma/web/o_auth/fallback_controller.ex:14 +#, elixir-autogen, elixir-format msgid "Unknown error, please check the details and try again." msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:158 +#: lib/pleroma/web/o_auth/o_auth_controller.ex:204 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:136 -#: lib/pleroma/web/o_auth/o_auth_controller.ex:180 msgid "Unlisted redirect_uri." msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:458 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:433 msgid "Unsupported OAuth provider: %{provider}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/uploaders/uploader.ex:74 +#, elixir-autogen, elixir-format msgid "Uploader callback timeout" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/uploader_controller.ex:23 +#, elixir-autogen, elixir-format msgid "bad request" msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:101 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:102 msgid "CAPTCHA Error" msgstr "" +#: lib/pleroma/web/common_api.ex:213 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:266 msgid "Could not add reaction emoji" msgstr "" +#: lib/pleroma/web/common_api.ex:224 #, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api.ex:277 msgid "Could not remove reaction emoji" msgstr "" +#: lib/pleroma/web/twitter_api/twitter_api.ex:127 #, elixir-autogen, elixir-format -#: lib/pleroma/web/twitter_api/twitter_api.ex:128 msgid "Invalid CAPTCHA (Missing parameter: %{name})" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/mastodon_api/controllers/list_controller.ex:96 +#, elixir-autogen, elixir-format msgid "List not found" msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:150 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:151 msgid "Missing parameter: %{name}" msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:256 +#: lib/pleroma/web/o_auth/o_auth_controller.ex:371 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:232 -#: lib/pleroma/web/o_auth/o_auth_controller.ex:346 msgid "Password reset is required" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/tests/auth_test_controller.ex:9 #: lib/pleroma/web/activity_pub/activity_pub_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/announcement_controller.ex:6 -#: lib/pleroma/web/admin_api/controllers/chat_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/config_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/frontend_controller.ex:6 @@ -471,6 +458,9 @@ msgstr "" #: lib/pleroma/web/admin_api/controllers/report_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/status_controller.ex:6 #: lib/pleroma/web/admin_api/controllers/user_controller.ex:6 +#: lib/pleroma/web/akkoma_api/controllers/frontend_settings_controller.ex:2 +#: lib/pleroma/web/akkoma_api/controllers/metrics_controller.ex:2 +#: lib/pleroma/web/akkoma_api/controllers/translation_controller.ex:2 #: lib/pleroma/web/controller_helper.ex:6 #: lib/pleroma/web/embed_controller.ex:6 #: lib/pleroma/web/fallback/redirect_controller.ex:6 @@ -478,6 +468,7 @@ msgstr "" #: lib/pleroma/web/feed/user_controller.ex:6 #: lib/pleroma/web/mailer/subscription_controller.ex:6 #: lib/pleroma/web/manifest_controller.ex:6 +#: lib/pleroma/web/masto_fe_controller.ex:6 #: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:6 #: lib/pleroma/web/mastodon_api/controllers/announcement_controller.ex:6 #: lib/pleroma/web/mastodon_api/controllers/app_controller.ex:11 @@ -502,6 +493,7 @@ msgstr "" #: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:6 #: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:7 #: lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex:6 +#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:3 #: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:6 #: lib/pleroma/web/media_proxy/media_proxy_controller.ex:6 #: lib/pleroma/web/mongoose_im/mongoose_im_controller.ex:6 @@ -513,7 +505,6 @@ msgstr "" #: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/app_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/backup_controller.ex:6 -#: lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:5 #: lib/pleroma/web/pleroma_api/controllers/conversation_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:6 @@ -522,7 +513,6 @@ msgstr "" #: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/notification_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/report_controller.ex:6 -#: lib/pleroma/web/pleroma_api/controllers/scrobble_controller.ex:6 #: lib/pleroma/web/pleroma_api/controllers/two_factor_authentication_controller.ex:7 #: lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:6 #: lib/pleroma/web/static_fe/static_fe_controller.ex:6 @@ -532,79 +522,99 @@ msgstr "" #: lib/pleroma/web/twitter_api/controllers/util_controller.ex:6 #: lib/pleroma/web/uploader_controller.ex:6 #: lib/pleroma/web/web_finger/web_finger_controller.ex:6 +#, elixir-autogen, elixir-format msgid "Security violation: OAuth scopes check was neither handled nor explicitly skipped." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/plugs/ensure_authenticated_plug.ex:32 +#, elixir-autogen, elixir-format msgid "Two-factor authentication enabled, you must use a access token." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:61 +#, elixir-autogen, elixir-format msgid "Web push subscription is disabled on this Pleroma instance" msgstr "" +#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:214 #, elixir-autogen, elixir-format -#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:234 msgid "You can't revoke your own admin/moderator status." msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:169 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:129 msgid "authorization required for timeline view" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:24 +#, elixir-autogen, elixir-format msgid "Access denied" msgstr "" +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:331 #, elixir-autogen, elixir-format -#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:322 msgid "This API requires an authenticated user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/plugs/ensure_staff_privileged_plug.ex:26 #: lib/pleroma/web/plugs/user_is_admin_plug.ex:21 +#, elixir-autogen, elixir-format msgid "User is not an admin." msgstr "" +#: lib/pleroma/user/backup.ex:73 #, elixir-format -#: lib/pleroma/user/backup.ex:75 msgid "Last export was less than a day ago" msgid_plural "Last export was less than %{days} days ago" msgstr[0] "" msgstr[1] "" +#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:421 #, elixir-autogen, elixir-format -#: lib/pleroma/user/backup.ex:93 -msgid "Backups require enabled email" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:434 msgid "Character limit (%{limit} characters) exceeded, contains %{length} characters" msgstr "" -#, elixir-autogen, elixir-format -#: lib/pleroma/user/backup.ex:98 -msgid "Email is required" -msgstr "" - -#, elixir-autogen, elixir-format -#: lib/pleroma/web/common_api/utils.ex:507 -msgid "Too many attachments" -msgstr "" - -#, elixir-autogen, elixir-format #: lib/pleroma/web/plugs/ensure_staff_privileged_plug.ex:33 #: lib/pleroma/web/plugs/user_is_staff_plug.ex:20 +#, elixir-autogen, elixir-format msgid "User is not a staff member." msgstr "" +#: lib/pleroma/web/o_auth/o_auth_controller.ex:391 #, elixir-autogen, elixir-format -#: lib/pleroma/web/o_auth/o_auth_controller.ex:366 msgid "Your account is awaiting approval." msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:255 +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:258 +#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:261 +#, elixir-autogen, elixir-format +msgid "File is too large" +msgstr "" + +#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:37 +#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:48 +#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:59 +#, elixir-autogen, elixir-format +msgid "Hashtag not found" +msgstr "" + +#: lib/pleroma/web/common_api/activity_draft.ex:144 +#, elixir-autogen, elixir-format +msgid "Invalid language" +msgstr "" + +#: lib/pleroma/web/o_auth/o_auth_controller.ex:218 +#, elixir-autogen, elixir-format +msgid "This action is outside of authorized scopes" +msgstr "" + +#: lib/pleroma/web/common_api/activity_draft.ex:129 +#, elixir-autogen, elixir-format +msgid "You can only quote public or unlisted statuses" +msgstr "" + +#: lib/pleroma/web/common_api/activity_draft.ex:126 +#, elixir-autogen, elixir-format +msgid "You can't quote a status that doesn't exist" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/config_descriptions.po b/priv/gettext/es/LC_MESSAGES/config_descriptions.po index d4720fc46..074ef0fda 100644 --- a/priv/gettext/es/LC_MESSAGES/config_descriptions.po +++ b/priv/gettext/es/LC_MESSAGES/config_descriptions.po @@ -3,49 +3,26 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-08-06 22:23+0000\n" -"PO-Revision-Date: 2022-08-06 22:24+0000\n" -"Last-Translator: Anonymous \n" -"Language-Team: Spanish \n" +"PO-Revision-Date: 2023-03-08 17:40+0000\n" +"Last-Translator: Kimberly \n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.13.1\n" - -# # This file is a PO Template file. -# # -# # "msgid"s here are often extracted from source code. -# # Add new translations manually only if they're dynamic -# # translations that can't be statically extracted. -# # -# # Run "mix gettext.extract" to bring this file up to -# # date. Leave "msgstr"s empty as changing them here has no -# # effect: edit them in PO (.po) files instead. -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd" -msgid "" -"Before enabling this you must add :esshd to mix.exs as one of the " -"extra_applications and generate host keys in your priv dir with ssh-keygen -" -"m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" -msgstr "" -"Before enabling this you must add :esshd to mix.exs as one of the " -"extra_applications and generate host keys in your priv dir with ssh-keygen -" -"m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" +"X-Generator: Weblate 4.14\n" #: lib/pleroma/docs/translator.ex:5 -#, fuzzy msgctxt "config description at :logger" msgid "Logger-related settings" -msgstr "Logger-related settings" +msgstr "Configuraciones relacionadas con el registrador" #: lib/pleroma/docs/translator.ex:5 -#, fuzzy msgctxt "config description at :mime" msgid "Mime Types settings" -msgstr "Mime Types settings" +msgstr "Ajustes de los Tipos de Mímica" #: lib/pleroma/docs/translator.ex:5 #, fuzzy @@ -67,24 +44,12 @@ msgctxt "config description at :pleroma" msgid "Authenticator" msgstr "Authenticator" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack" -msgid "Quack-related settings" -msgstr "Quack-related settings" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :cors_plug" msgid "CORS plug config" msgstr "CORS plug config" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd" -msgid "ESSHD" -msgstr "ESSHD" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :logger" @@ -109,12 +74,6 @@ msgctxt "config label at :pleroma" msgid "Pleroma Authenticator" msgstr "Pleroma Authenticator" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack" -msgid "Quack Logger" -msgstr "Quack Logger" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :logger-:console" @@ -149,12 +108,6 @@ msgctxt "config description at :pleroma-:auth" msgid "Authentication / authorization settings" msgstr "Authentication / authorization settings" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool" -msgid "Advanced settings for `Gun` connections pool" -msgstr "Advanced settings for `Gun` connections pool" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:email_notifications" @@ -173,38 +126,12 @@ msgctxt "config description at :pleroma-:feed" msgid "Configure feed rendering" msgstr "Configure feed rendering" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:frontend_configurations" -msgid "" -"This form can be used to configure a keyword list that keeps the " -"configuration data for any kind of frontend. By default, settings for " -"pleroma_fe are configured. If you want to add your own configuration your " -"settings all fields must be complete." -msgstr "" -"This form can be used to configure a keyword list that keeps the " -"configuration data for any kind of frontend. By default, settings for " -"pleroma_fe are configured. If you want to add your own configuration your " -"settings all fields must be complete." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:frontends" msgid "Installed frontends management" msgstr "Installed frontends management" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher" -msgid "Gopher settings" -msgstr "Gopher settings" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools" -msgid "Advanced settings for `Hackney` connections pools" -msgstr "Advanced settings for `Hackney` connections pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http" @@ -393,12 +320,6 @@ msgctxt "config description at :pleroma-:oauth2" msgid "Configure OAuth 2 provider capabilities" msgstr "Configure OAuth 2 provider capabilities" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools" -msgid "Advanced settings for `Gun` workers pools" -msgstr "Advanced settings for `Gun` workers pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:populate_hashtags_table" @@ -415,16 +336,6 @@ msgstr "" "Rate limit settings. This is an advanced feature enabled only for :" "authentication by default." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:restrict_unauthenticated" -msgid "" -"Disallow viewing timelines, user profiles and statuses for unauthenticated " -"users." -msgstr "" -"Disallow viewing timelines, user profiles and statuses for unauthenticated " -"users." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:rich_media" @@ -435,12 +346,6 @@ msgstr "" "If enabled the instance will parse metadata from attached links to generate " "link previews" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout" -msgid "Pleroma shout settings" -msgstr "Pleroma shout settings" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:static_fe" @@ -636,13 +541,6 @@ msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Expired activities settings" msgstr "Expired activities settings" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Prometheus app metrics endpoint configuration" -msgstr "Prometheus app metrics endpoint configuration" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :web_push_encryption-:vapid_details" @@ -689,12 +587,6 @@ msgctxt "config label at :pleroma-:auth" msgid "Auth" msgstr "Auth" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool" -msgid "Connections pool" -msgstr "Connections pool" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:email_notifications" @@ -731,18 +623,6 @@ msgctxt "config label at :pleroma-:frontends" msgid "Frontends" msgstr "Frontends" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher" -msgid "Gopher" -msgstr "Gopher" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools" -msgid "Hackney pools" -msgstr "Hackney pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http" @@ -899,12 +779,6 @@ msgctxt "config label at :pleroma-:oauth2" msgid "OAuth2" msgstr "OAuth2" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools" -msgid "Pools" -msgstr "Pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:populate_hashtags_table" @@ -929,12 +803,6 @@ msgctxt "config label at :pleroma-:rich_media" msgid "Rich media" msgstr "Rich media" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout" -msgid "Shout" -msgstr "Shout" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:static_fe" @@ -1115,48 +983,12 @@ msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Pleroma.Workers.PurgeExpiredActivity" msgstr "Pleroma.Workers.PurgeExpiredActivity" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Pleroma.Web.Endpoint.MetricsExporter" -msgstr "Pleroma.Web.Endpoint.MetricsExporter" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :web_push_encryption-:vapid_details" msgid "Vapid Details" msgstr "Vapid Details" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :enabled" -msgid "Enables SSH" -msgstr "Enables SSH" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :handler" -msgid "Handler module" -msgstr "Handler module" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :password_authenticator" -msgid "Authenticator module" -msgstr "Authenticator module" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :port" -msgid "Port to connect" -msgstr "Port to connect" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :priv_dir" -msgid "Dir with SSH keys" -msgstr "Dir with SSH keys" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :ex_aws-:s3 > :access_key_id" @@ -1350,57 +1182,6 @@ msgstr "" "html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer." "html.eex`." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool > :connect_timeout" -msgid "Timeout while `gun` will wait until connection is up. Default: 5000ms." -msgstr "Timeout while `gun` will wait until connection is up. Default: 5000ms." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :" -"connection_acquisition_retries" -msgid "" -"Number of attempts to acquire the connection from the pool if it is " -"overloaded. Default: 5" -msgstr "" -"Number of attempts to acquire the connection from the pool if it is " -"overloaded. Default: 5" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :" -"connection_acquisition_wait" -msgid "" -"Timeout to acquire a connection from pool. The total max time is this value " -"multiplied by the number of retries. Default: 250ms." -msgstr "" -"Timeout to acquire a connection from pool. The total max time is this value " -"multiplied by the number of retries. Default: 250ms." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool > :max_connections" -msgid "Maximum number of connections in the pool. Default: 250 connections." -msgstr "Maximum number of connections in the pool. Default: 250 connections." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "" -"Multiplier for the number of idle connection to be reclaimed if the pool is " -"full. For example if the pool maxes out at 250 connections and this setting " -"is set to 0.3, the pool will reclaim at most 75 idle connections if it's " -"overloaded. Default: 0.1" -msgstr "" -"Multiplier for the number of idle connection to be reclaimed if the pool is " -"full. For example if the pool maxes out at 250 connections and this setting " -"is set to 0.3, the pool will reclaim at most 75 idle connections if it's " -"overloaded. Default: 0.1" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:email_notifications > :digest" @@ -1582,14 +1363,6 @@ msgctxt "" msgid "Hide notices statistics (repeats, favorites, ...)" msgstr "Hide notices statistics (repeats, favorites, ...)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" -"hideSitename" -msgid "Hides instance name from PleromaFE banner" -msgstr "Hides instance name from PleromaFE banner" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -1635,18 +1408,6 @@ msgstr "" "compatible with both light and dark themes. If you want a colorful logo you " "must disable logoMask." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" -"minimalScopesMode" -msgid "" -"Limit scope selection to Direct, User default, and Scope of post replying " -"to. Also prevents replying to a DM with a public post from PleromaFE." -msgstr "" -"Limit scope selection to Direct, User default, and Scope of post replying " -"to. Also prevents replying to a DM with a public post from PleromaFE." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -1846,89 +1607,6 @@ msgstr "" "Reference of the installed frontend to be used. Valid config must include " "both `Name` and `Reference` values." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :dstport" -msgid "Port advertised in URLs (optional, defaults to port)" -msgstr "Port advertised in URLs (optional, defaults to port)" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :enabled" -msgid "Enables the gopher interface" -msgstr "Enables the gopher interface" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :ip" -msgid "IP address to bind to" -msgstr "IP address to bind to" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :port" -msgid "Port to bind to" -msgstr "Port to bind to" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :federation" -msgid "Settings for federation pool." -msgstr "Settings for federation pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :federation > :" -"max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :media" -msgid "Settings for media pool." -msgstr "Settings for media pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :upload" -msgid "Settings for upload pool." -msgstr "Settings for upload pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http > :adapter" @@ -1948,12 +1626,6 @@ msgctxt "" msgid "List of TLS version to use" msgstr "List of TLS version to use" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:http > :proxy_url" -msgid "Proxy URL" -msgstr "Proxy URL" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http > :user_agent" @@ -2080,22 +1752,6 @@ msgctxt "config description at :pleroma-:instance > :banner_upload_limit" msgid "File size limit of user's profile banners" msgstr "File size limit of user's profile banners" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :birthday_min_age" -msgid "" -"Minimum required age for users to create account. Only used if birthday is " -"required." -msgstr "" -"Minimum required age for users to create account. Only used if birthday is " -"required." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :birthday_required" -msgid "Require users to enter their birthday." -msgstr "Require users to enter their birthday." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :cleanup_attachments" @@ -2177,12 +1833,6 @@ msgstr "" "Timeout (in days) of each external federation target being unreachable prior " "to pausing federating to it" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :healthcheck" -msgid "If enabled, system data will be shown on `/api/pleroma/healthcheck`" -msgstr "If enabled, system data will be shown on `/api/pleroma/healthcheck`" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :instance_thumbnail" @@ -2227,19 +1877,6 @@ msgctxt "config description at :pleroma-:instance > :max_account_fields" msgid "The maximum number of custom fields in the user profile. Default: 10." msgstr "The maximum number of custom fields in the user profile. Default: 10." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :max_endorsed_users" -msgid "The maximum number of recommended accounts. 0 will disable the feature." -msgstr "" -"The maximum number of recommended accounts. 0 will disable the feature." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :max_media_attachments" -msgid "Maximum number of post media attachments" -msgstr "Maximum number of post media attachments" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :max_pinned_statuses" @@ -2373,48 +2010,12 @@ msgctxt "" msgid "Minimum expiration time (in seconds)" msgstr "Minimum expiration time (in seconds)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :privileged_staff" -msgid "" -"Let moderators access sensitive data (e.g. updating user credentials, get " -"password reset token, delete users, index and read private statuses and " -"chats)" -msgstr "" -"Let moderators access sensitive data (e.g. updating user credentials, get " -"password reset token, delete users, index and read private statuses and " -"chats)" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :profile_directory" msgid "Enable profile directory." msgstr "Enable profile directory." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :public" -msgid "" -"Makes the client API in authenticated mode-only except for user-profiles. " -"Useful for disabling the Local Timeline and The Whole Known Network. Note: " -"when setting to `false`, please also check `:restrict_unauthenticated` " -"setting." -msgstr "" -"Makes the client API in authenticated mode-only except for user-profiles. " -"Useful for disabling the Local Timeline and The Whole Known Network. Note: " -"when setting to `false`, please also check `:restrict_unauthenticated` " -"setting." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :quarantined_instances" -msgid "" -"List of ActivityPub instances where private (DMs, followers-only) activities " -"will not be sent and the reason for doing so" -msgstr "" -"List of ActivityPub instances where private (DMs, followers-only) activities " -"will not be sent and the reason for doing so" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -2591,24 +2192,12 @@ msgctxt "config description at :pleroma-:majic_pool > :size" msgid "Number of majic workers to start." msgstr "Number of majic workers to start." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:manifest > :background_color" -msgid "Describe the background color of the app" -msgstr "Describe the background color of the app" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:manifest > :icons" msgid "Describe the icons of the app" msgstr "Describe the icons of the app" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:manifest > :theme_color" -msgid "Describe the theme color of the app" -msgstr "Describe the theme color of the app" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:markup > :scrub_policy" @@ -3106,126 +2695,6 @@ msgctxt "config description at :pleroma-:oauth2 > :token_expires_in" msgid "The lifetime in seconds of the access token" msgstr "The lifetime in seconds of the access token" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default" -msgid "Settings for default pool." -msgstr "Settings for default pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation" -msgid "Settings for federation pool." -msgstr "Settings for federation pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media" -msgid "Settings for media pool." -msgstr "Settings for media pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload" -msgid "Settings for upload pool." -msgstr "Settings for upload pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -3309,72 +2778,18 @@ msgctxt "config description at :pleroma-:rate_limit > :timeline" msgid "For requests to timelines (each timeline has it's own limiter)" msgstr "For requests to timelines (each timeline has it's own limiter)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities" -msgid "Settings for statuses." -msgstr "Settings for statuses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities > :" -"local" -msgid "Disallow view local statuses." -msgstr "Disallow view local statuses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities > :" -"remote" -msgid "Disallow view remote statuses." -msgstr "Disallow view remote statuses." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles" msgid "Settings for user profiles." msgstr "Settings for user profiles." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :profiles > :local" -msgid "Disallow view local user profiles." -msgstr "Disallow view local user profiles." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :profiles > :" -"remote" -msgid "Disallow view remote user profiles." -msgstr "Disallow view remote user profiles." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines" msgid "Settings for public and federated timelines." msgstr "Settings for public and federated timelines." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :timelines > :" -"federated" -msgid "Disallow view federated timeline." -msgstr "Disallow view federated timeline." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :timelines > :" -"local" -msgid "Disallow view public timeline." -msgstr "Disallow view public timeline." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:rich_media > :enabled" @@ -3427,18 +2842,6 @@ msgstr "" "`Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need " "to use full name." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout > :enabled" -msgid "Enables the backend Shoutbox chat feature." -msgstr "Enables the backend Shoutbox chat feature." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout > :limit" -msgid "Shout message character limit." -msgstr "Shout message character limit." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:static_fe > :enabled" @@ -3482,26 +2885,6 @@ msgid "" msgstr "" "Activity pub routes (question activities). Default: `30_000` (30 seconds)." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enables sending a chat message to newly registered users" -msgstr "Enables sending a chat message to newly registered users" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:welcome > :chat_message > :message" -msgid "A message that will be sent to newly registered users as a chat message" -msgstr "" -"A message that will be sent to newly registered users as a chat message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "The nickname of the local user that sends a welcome chat message" -msgstr "The nickname of the local user that sends a welcome chat message" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:welcome > :direct_message > :enabled" @@ -4178,64 +3561,6 @@ msgctxt "" msgid "Minimum lifetime for ephemeral activity (in seconds)" msgstr "Minimum lifetime for ephemeral activity (in seconds)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"auth" -msgid "Enables HTTP Basic Auth for app metrics endpoint." -msgstr "Enables HTTP Basic Auth for app metrics endpoint." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"enabled" -msgid "[Pleroma extension] Enables app metrics endpoint." -msgstr "[Pleroma extension] Enables app metrics endpoint." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"format" -msgid "App metrics endpoint output format." -msgstr "App metrics endpoint output format." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"ip_whitelist" -msgid "Restrict access of app metrics endpoint to the specified IP addresses." -msgstr "Restrict access of app metrics endpoint to the specified IP addresses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"path" -msgid "App metrics endpoint URI path." -msgstr "App metrics endpoint URI path." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :level" -msgid "Log level" -msgstr "Log level" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :meta" -msgid "Configure which metadata you want to report on" -msgstr "Configure which metadata you want to report on" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :webhook_url" -msgid "Configure the Slack incoming webhook" -msgstr "Configure the Slack incoming webhook" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4292,36 +3617,6 @@ msgctxt "config label at :cors_plug > :methods" msgid "Methods" msgstr "Methods" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :handler" -msgid "Handler" -msgstr "Handler" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :password_authenticator" -msgid "Password authenticator" -msgstr "Password authenticator" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :port" -msgid "Port" -msgstr "Port" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :priv_dir" -msgid "Priv dir" -msgstr "Priv dir" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :ex_aws-:s3 > :access_key_id" @@ -4520,38 +3815,6 @@ msgctxt "config label at :pleroma-:auth > :oauth_consumer_template" msgid "OAuth consumer template" msgstr "OAuth consumer template" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" -msgid "Connect timeout" -msgstr "Connect timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:connections_pool > :connection_acquisition_retries" -msgid "Connection acquisition retries" -msgstr "Connection acquisition retries" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:connections_pool > :connection_acquisition_wait" -msgid "Connection acquisition wait" -msgstr "Connection acquisition wait" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "Reclaim multiplier" -msgstr "Reclaim multiplier" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:email_notifications > :digest" @@ -4698,14 +3961,6 @@ msgctxt "" msgid "Hide post stats" msgstr "Hide post stats" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" -"hideSitename" -msgid "Hide Sitename" -msgstr "Hide Sitename" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4735,14 +3990,6 @@ msgctxt "" msgid "Logo mask" msgstr "Logo mask" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" -"minimalScopesMode" -msgid "Minimal scopes mode" -msgstr "Minimal scopes mode" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4900,85 +4147,6 @@ msgctxt "config label at :pleroma-:frontends > :primary > ref" msgid "Reference" msgstr "Reference" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :dstport" -msgid "Dstport" -msgstr "Dstport" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :ip" -msgid "IP" -msgstr "IP" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :port" -msgid "Port" -msgstr "Port" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :federation" -msgid "Federation" -msgstr "Federation" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:hackney_pools > :federation > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout" -msgstr "Timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media" -msgid "Media" -msgstr "Media" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout" -msgstr "Timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload" -msgid "Upload" -msgstr "Upload" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout" -msgstr "Timeout" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http > :adapter" @@ -5003,12 +4171,6 @@ msgctxt "config label at :pleroma-:http > :proxy_url" msgid "Proxy URL" msgstr "Proxy URL" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:http > :send_user_agent" -msgid "Send user agent" -msgstr "Send user agent" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http > :user_agent" @@ -5117,18 +4279,6 @@ msgctxt "config label at :pleroma-:instance > :banner_upload_limit" msgid "Banner upload limit" msgstr "Banner upload limit" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :birthday_min_age" -msgid "Birthday min age" -msgstr "Birthday min age" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :birthday_required" -msgid "Birthday required" -msgstr "Birthday required" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:instance > :cleanup_attachments" @@ -5215,18 +4365,6 @@ msgctxt "config label at :pleroma-:instance > :max_account_fields" msgid "Max account fields" msgstr "Max account fields" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :max_endorsed_users" -msgid "Max endorsed users" -msgstr "Max endorsed users" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :max_media_attachments" -msgid "Max media attachments" -msgstr "Max media attachments" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:instance > :max_pinned_statuses" @@ -5895,102 +5033,6 @@ msgctxt "config label at :pleroma-:oauth2 > :token_expires_in" msgid "Token expires in" msgstr "Token expires in" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default" -msgid "Default" -msgstr "Default" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation" -msgid "Federation" -msgstr "Federation" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media" -msgid "Media" -msgstr "Media" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload" -msgid "Upload" -msgstr "Upload" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :size" -msgid "Size" -msgstr "Size" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -6149,18 +5191,6 @@ msgctxt "config label at :pleroma-:rich_media > :ttl_setters" msgid "TTL setters" msgstr "TTL setters" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout > :limit" -msgid "Limit" -msgstr "Limit" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:static_fe > :enabled" @@ -6203,30 +5233,6 @@ msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub_question" msgid "Activity pub question" msgstr "Activity pub question" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message" -msgid "Chat message" -msgstr "Chat message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :message" -msgid "Message" -msgstr "Message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "Sender nickname" -msgstr "Sender nickname" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:welcome > :direct_message" @@ -7003,60 +6009,6 @@ msgctxt "" msgid "Min lifetime" msgstr "Min lifetime" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" -msgid "Auth" -msgstr "Auth" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" -msgid "Format" -msgstr "Format" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"ip_whitelist" -msgid "IP Whitelist" -msgstr "IP Whitelist" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" -msgid "Path" -msgstr "Path" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :level" -msgid "Level" -msgstr "Level" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :meta" -msgid "Meta" -msgstr "Meta" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :webhook_url" -msgid "Webhook URL" -msgstr "Webhook URL" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :web_push_encryption-:vapid_details > :private_key" @@ -7075,20 +6027,6 @@ msgctxt "config label at :web_push_encryption-:vapid_details > :subject" msgid "Subject" msgstr "Subject" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" -msgid "Require HTTP signatures for AP fetches" -msgstr "Require HTTP signatures for AP fetches" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :short_description" -msgid "" -"Shorter version of instance description. It can be seen on `/api/v1/instance`" -msgstr "" -"Shorter version of instance description. It can be seen on `/api/v1/instance`" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:activitypub > :authorized_fetch_mode" @@ -7097,6 +6035,1851 @@ msgstr "Authorized fetch mode" #: lib/pleroma/docs/translator.ex:5 #, fuzzy -msgctxt "config label at :pleroma-:instance > :short_description" -msgid "Short description" -msgstr "Short description" +msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" +msgid "Require HTTP signatures on AP fetches" +msgstr "Require HTTP signatures for AP fetches" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:activitypub > :max_collection_objects" +msgid "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." +msgstr "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate" +msgid "ArgosTranslate Settings." +msgstr "Preload-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:argos_translate > :command_argos_translate" +msgid "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." +msgstr "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :command_argospm" +msgid "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." +msgstr "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :strip_html" +msgid "Strip html from the post before translating it." +msgstr "Strip html from the post before translating it." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl" +msgid "DeepL Settings." +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl > :api_key" +msgid "API key for DeepL" +msgstr "API key for DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl > :tier" +msgid "API Tier" +msgstr "API Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations" +msgid "" +"This form can be used to configure a keyword list that keeps the " +"configuration data for any kind of frontend. By default, settings for " +"pleroma_fe and masto_fe are configured. If you want to add your own " +"configuration your settings all fields must be complete." +msgstr "" +"This form can be used to configure a keyword list that keeps the " +"configuration data for any kind of frontend. By default, settings for " +"pleroma_fe are configured. If you want to add your own configuration your " +"settings all fields must be complete." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe" +msgid "Settings for Masto FE" +msgstr "Settings for Pleroma FE" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :masto_fe > :" +"showInstanceSpecificPanel" +msgid "Whenether to show the instance's specific panel" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"conversationDisplay" +msgid "How to display conversations (linear or tree)" +msgstr "How to display conversations (linear or tree)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteFavicon" +msgid "Whether to hide the instance favicon from the navbar" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteName" +msgid "Whether to hide the site name from the navbar" +msgstr "Whether to hide the site name from the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"renderMisskeyMarkdown" +msgid "Whether to render Misskey-flavoured markdown" +msgstr "Whether to render Misskey-flavoured markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showNavShortcuts" +msgid "Whether to put extra navigation options on the navbar" +msgstr "Whether to put extra navigation options on the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showPanelNavShortcuts" +msgid "Whether to put timeline nav tabs on the top of the panel" +msgstr "Whether to put timeline nav tabs on the top of the panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showWiderShortcuts" +msgid "Whether to add extra space between navbar icons" +msgstr "Whether to add extra space between navbar icons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"stopGifs" +msgid "Whether to pause animated images until they're hovered on" +msgstr "Whether to pause animated images until they're hovered on" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon" +msgid "Mastodon frontend" +msgstr "Admin frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > name" +msgid "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > ref" +msgid "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger" +msgid "Swagger API reference frontend" +msgstr "Swagger API reference frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > enabled" +msgid "Whether to have this enabled at all" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > name" +msgid "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > ref" +msgid "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :pool_size" +msgid "Number of concurrent outbound HTTP requests to allow. Default 50." +msgstr "Number of concurrent outbound HTTP requests to allow. Default 50." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :pool_timeout" +msgid "Timeout for initiating HTTP requests (in ms, default 5000)" +msgstr "Timeout for initiating HTTP requests (in ms, default 5000)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :proxy_url" +msgid "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." +msgstr "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :receive_timeout" +msgid "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" +msgstr "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :export_prometheus_metrics" +msgid "Enable prometheus metrics (at /api/v1/akkoma/metrics)" +msgstr "Enable prometheus metrics (at /api/v1/akkoma/metrics)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :languages" +msgid "Languages the instance uses" +msgstr "Name of the instance" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :local_bubble" +msgid "" +"List of instances that make up your local bubble (closely-related " +"instances). Used to populate the 'bubble' timeline (domain only)." +msgstr "" +"List of instances that make up your local bubble (closely-related instances)" +". Used to populate the 'bubble' timeline (domain only)." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :privileged_staff" +msgid "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses)" +msgstr "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses and " +"chats)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :public" +msgid "" +"Switching this on will allow unauthenticated users access to all public " +"resources on your instance Switching it off is useful for disabling the " +"Local Timeline and The Whole Known Network. Note: when setting to `false`, " +"please also check `:restrict_unauthenticated` setting." +msgstr "" +"Makes the client API in authenticated mode-only except for user-profiles. " +"Useful for disabling the Local Timeline and The Whole Known Network. Note: " +"when setting to `false`, please also check `:restrict_unauthenticated` " +"setting." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :quarantined_instances" +msgid "" +"(Deprecated, will be removed in next release) List of ActivityPub instances " +"where activities will not be sent, and the reason for doing so" +msgstr "" +"List of ActivityPub instances where private (DMs, followers-only) activities " +"will not be sent and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo" +msgid "Control favicons for instances" +msgstr "Control favicons for instances" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo > :enabled" +msgid "Allow/disallow getting instance nodeinfo" +msgstr "Allow/disallow displaying and getting instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate" +msgid "LibreTranslate Settings." +msgstr "Logger-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :api_key" +msgid "API key for libretranslate" +msgstr "API key for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :url" +msgid "URL for libretranslate" +msgstr "URL for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:manifest > :background_color" +msgid "" +"Describe the background color of the app - this is only used for mastodon-fe" +msgstr "Describe the background color of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:manifest > :theme_color" +msgid "Describe the theme color of the app - this is only used for mastodon-fe" +msgstr "Describe the theme color of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." +msgstr "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote" +msgid "Force quote post URLs inline" +msgstr "Force quote post URLs inline" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix before the link" +msgstr "Prefix before the link" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :handle_threads" +msgid "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" +msgstr "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated" +msgid "" +"Disallow unauthenticated viewing of timelines, user profiles and statuses." +msgstr "" +"Disallow viewing timelines, user profiles and statuses for unauthenticated " +"users." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities" +msgid "Settings for posts." +msgstr "Settings for statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities > :" +"local" +msgid "Disallow viewing local posts." +msgstr "Disallow view local statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities > :" +"remote" +msgid "Disallow viewing remote posts." +msgstr "Disallow view remote statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :profiles > :local" +msgid "Disallow viewing local user profiles." +msgstr "Disallow view local user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :profiles > :" +"remote" +msgid "Disallow viewing remote user profiles." +msgstr "Disallow view remote user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :timelines > :" +"federated" +msgid "Disallow viewing the whole known network timeline." +msgstr "Disallow view federated timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :timelines > :" +"local" +msgid "Disallow viewing the public timeline." +msgstr "Disallow view public timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator" +msgid "Translation Settings" +msgstr "Invalidation script settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator > :enabled" +msgid "Is translation enabled?" +msgstr "Streaming enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator > :module" +msgid "Translation module." +msgstr "Handler module" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:workers > :timeout" +msgid "Timeout for jobs, per `Oban` queue, in ms" +msgstr "Max retry attempts for failed jobs, per `Oban` queue" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search" +msgid "General search settings." +msgstr "General MRF settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search > :module" +msgid "Selected search module." +msgstr "Rejected shortcodes" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch settings." +msgstr "Email template settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" +msgstr "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes" +msgid "The indices to set up in Elasticsearch" +msgstr "The indices to set up in Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities" +msgid "Config for the index to use for activities" +msgstr "Config for the index to use for activities" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :bulk_page_size" +msgid "Size for bulk put requests, mostly used on building the index" +msgstr "Size for bulk put requests, mostly used on building the index" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :bulk_wait_interval" +msgid "Time to wait between bulk put requests (in ms)" +msgstr "Time to wait between bulk put requests (in ms)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :settings" +msgid "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." +msgstr "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :sources" +msgid "The internal types to use for this index" +msgstr "The internal types to use for this index" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :store" +msgid "The internal store module" +msgstr "Authenticator module" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"json_library" +msgid "" +"The JSON module used to encode/decode when communicating with Elasticsearch" +msgstr "" +"The JSON module used to encode/decode when communicating with Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"password" +msgid "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Elasticsearch URL." +msgstr "Elasticsearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"username" +msgid "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch" +msgid "Meilisearch settings." +msgstr "Mailer-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Meilisearch > :" +"initial_indexing_chunk_size" +msgid "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" +msgstr "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." +msgstr "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Meilisearch URL." +msgstr "Meilisearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "" +"Specific provider to hand out themes to instances that scrape index.html" +msgstr "" +"Specific provider to hand out themes to instances that scrape index.html" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :" +"theme_color" +msgid "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" +msgstr "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:activitypub > :max_collection_objects" +msgid "Max collection objects" +msgstr "Max connections" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate" +msgid "Argos translate" +msgstr "Argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argos_translate" +msgid "Command argos translate" +msgstr "Command argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argospm" +msgid "Command argospm" +msgstr "Cmd args" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :strip_html" +msgid "Strip html" +msgstr "Strict" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl" +msgid "DeepL" +msgstr "DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl > :api_key" +msgid "Api key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl > :tier" +msgid "Tier" +msgstr "Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe" +msgid "Masto FE" +msgstr "Masto FE" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :masto_fe > :" +"showInstanceSpecificPanel" +msgid "Show instance specific panel" +msgstr "Show instance specific panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"conversationDisplay" +msgid "Conversation display style" +msgstr "Conversation display style" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteFavicon" +msgid "Hide site favicon" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteName" +msgid "Hide site name" +msgstr "Hide Sitename" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"renderMisskeyMarkdown" +msgid "Render misskey markdown" +msgstr "Render misskey markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showNavShortcuts" +msgid "Show navbar shortcuts" +msgstr "Show navbar shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showPanelNavShortcuts" +msgid "Show timeline panel nav shortcuts" +msgstr "Show timeline panel nav shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showWiderShortcuts" +msgid "Increase navbar shortcut spacing" +msgstr "Increase navbar shortcut spacing" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Stop Gifs" +msgstr "Stop Gifs" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon" +msgid "Mastodon" +msgstr "Mastodon" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger" +msgid "Swagger" +msgstr "Logger" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :pool_size" +msgid "Pool size" +msgstr "Pools" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :pool_timeout" +msgid "HTTP Pool Request Timeout" +msgstr "HTTP Pool Request Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :receive_timeout" +msgid "HTTP Receive Timeout" +msgstr "Recv timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :export_prometheus_metrics" +msgid "Export prometheus metrics" +msgstr "Export prometheus metrics" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :languages" +msgid "Languages" +msgstr "Languages" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :local_bubble" +msgid "Local bubble" +msgstr "Local bubble" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo" +msgid "Instances nodeinfo" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate" +msgid "Libre translate" +msgstr "Libre translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :api_key" +msgid "Api key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "MRF domain obfuscation" +msgstr "MRF domain obfuscation" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote" +msgid "MRF Inline Quote" +msgstr "MRF Inline Quote" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix" +msgstr "Prefix" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :handle_threads" +msgid "Apply to entire threads" +msgstr "Apply to entire threads" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator" +msgid "Translator" +msgstr "Translator" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator > :module" +msgid "Module" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:workers > :timeout" +msgid "Timeout" +msgstr "Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search" +msgid "Search" +msgstr "Search" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search > :module" +msgid "Module" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch" +msgstr "Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "Api" +msgstr "Api" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "Indexes" +msgstr "Indexes" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities" +msgid "Activities" +msgstr "Activities" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :bulk_page_size" +msgid "Bulk page size" +msgstr "Bulk page size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :bulk_wait_interval" +msgid "Bulk wait interval" +msgstr "Bulk wait interval" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :settings" +msgid "Settings" +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :sources" +msgid "Sources" +msgstr "Sources" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :store" +msgid "Store" +msgstr "Store" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "Json library" +msgstr "Json library" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password" +msgstr "Password" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username" +msgstr "Username" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch" +msgid "Pleroma.Search.Meilisearch" +msgstr "Pleroma.Emails.Mailer" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Meilisearch > :" +"initial_indexing_chunk_size" +msgid "Initial indexing chunk size" +msgstr "Initial indexing chunk size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key" +msgstr "Private key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Pleroma.Web.Metadata.Providers.Theme" +msgstr "Pleroma.Web.Metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "Theme color" +msgstr "Theme color" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :healthcheck" +msgid "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" +msgstr "If enabled, system data will be shown on `/api/pleroma/healthcheck`" + +# # This file is a PO Template file. +# # +# # "msgid"s here are often extracted from source code. +# # Add new translations manually only if they're dynamic +# # translations that can't be statically extracted. +# # +# # Run "mix gettext.extract" to bring this file up to +# # date. Leave "msgstr"s empty as changing them here has no +# # effect: edit them in PO (.po) files instead. +#, fuzzy +#~ msgctxt "config description at :esshd" +#~ msgid "" +#~ "Before enabling this you must add :esshd to mix.exs as one of the " +#~ "extra_applications and generate host keys in your priv dir with ssh-" +#~ "keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" +#~ msgstr "" +#~ "Before enabling this you must add :esshd to mix.exs as one of the " +#~ "extra_applications and generate host keys in your priv dir with ssh-" +#~ "keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" + +#, fuzzy +#~ msgctxt "config description at :quack" +#~ msgid "Quack-related settings" +#~ msgstr "Quack-related settings" + +#, fuzzy +#~ msgctxt "config label at :esshd" +#~ msgid "ESSHD" +#~ msgstr "ESSHD" + +#, fuzzy +#~ msgctxt "config label at :quack" +#~ msgid "Quack Logger" +#~ msgstr "Quack Logger" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:connections_pool" +#~ msgid "Advanced settings for `Gun` connections pool" +#~ msgstr "Advanced settings for `Gun` connections pool" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher" +#~ msgid "Gopher settings" +#~ msgstr "Gopher settings" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools" +#~ msgid "Advanced settings for `Hackney` connections pools" +#~ msgstr "Advanced settings for `Hackney` connections pools" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools" +#~ msgid "Advanced settings for `Gun` workers pools" +#~ msgstr "Advanced settings for `Gun` workers pools" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout" +#~ msgid "Pleroma shout settings" +#~ msgstr "Pleroma shout settings" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" +#~ msgid "Prometheus app metrics endpoint configuration" +#~ msgstr "Prometheus app metrics endpoint configuration" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool" +#~ msgid "Connections pool" +#~ msgstr "Connections pool" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher" +#~ msgid "Gopher" +#~ msgstr "Gopher" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools" +#~ msgid "Hackney pools" +#~ msgstr "Hackney pools" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout" +#~ msgid "Shout" +#~ msgstr "Shout" + +#, fuzzy +#~ msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" +#~ msgid "Pleroma.Web.Endpoint.MetricsExporter" +#~ msgstr "Pleroma.Web.Endpoint.MetricsExporter" + +#, fuzzy +#~ msgctxt "config description at :esshd > :enabled" +#~ msgid "Enables SSH" +#~ msgstr "Enables SSH" + +#, fuzzy +#~ msgctxt "config description at :esshd > :port" +#~ msgid "Port to connect" +#~ msgstr "Port to connect" + +#, fuzzy +#~ msgctxt "config description at :esshd > :priv_dir" +#~ msgid "Dir with SSH keys" +#~ msgstr "Dir with SSH keys" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :connect_timeout" +#~ msgid "" +#~ "Timeout while `gun` will wait until connection is up. Default: 5000ms." +#~ msgstr "" +#~ "Timeout while `gun` will wait until connection is up. Default: 5000ms." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :" +#~ "connection_acquisition_retries" +#~ msgid "" +#~ "Number of attempts to acquire the connection from the pool if it is " +#~ "overloaded. Default: 5" +#~ msgstr "" +#~ "Number of attempts to acquire the connection from the pool if it is " +#~ "overloaded. Default: 5" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :" +#~ "connection_acquisition_wait" +#~ msgid "" +#~ "Timeout to acquire a connection from pool. The total max time is this " +#~ "value multiplied by the number of retries. Default: 250ms." +#~ msgstr "" +#~ "Timeout to acquire a connection from pool. The total max time is this " +#~ "value multiplied by the number of retries. Default: 250ms." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :max_connections" +#~ msgid "Maximum number of connections in the pool. Default: 250 connections." +#~ msgstr "" +#~ "Maximum number of connections in the pool. Default: 250 connections." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :reclaim_multiplier" +#~ msgid "" +#~ "Multiplier for the number of idle connection to be reclaimed if the pool " +#~ "is full. For example if the pool maxes out at 250 connections and this " +#~ "setting is set to 0.3, the pool will reclaim at most 75 idle connections " +#~ "if it's overloaded. Default: 0.1" +#~ msgstr "" +#~ "Multiplier for the number of idle connection to be reclaimed if the pool " +#~ "is full. For example if the pool maxes out at 250 connections and this " +#~ "setting is set to 0.3, the pool will reclaim at most 75 idle connections " +#~ "if it's overloaded. Default: 0.1" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "hideSitename" +#~ msgid "Hides instance name from PleromaFE banner" +#~ msgstr "Hides instance name from PleromaFE banner" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "minimalScopesMode" +#~ msgid "" +#~ "Limit scope selection to Direct, User default, and Scope of post replying " +#~ "to. Also prevents replying to a DM with a public post from PleromaFE." +#~ msgstr "" +#~ "Limit scope selection to Direct, User default, and Scope of post replying " +#~ "to. Also prevents replying to a DM with a public post from PleromaFE." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :dstport" +#~ msgid "Port advertised in URLs (optional, defaults to port)" +#~ msgstr "Port advertised in URLs (optional, defaults to port)" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :enabled" +#~ msgid "Enables the gopher interface" +#~ msgstr "Enables the gopher interface" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :ip" +#~ msgid "IP address to bind to" +#~ msgstr "IP address to bind to" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :port" +#~ msgid "Port to bind to" +#~ msgstr "Port to bind to" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :federation" +#~ msgid "Settings for federation pool." +#~ msgstr "Settings for federation pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :federation > :" +#~ "max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :federation > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :media" +#~ msgid "Settings for media pool." +#~ msgstr "Settings for media pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :media > :max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :upload" +#~ msgid "Settings for upload pool." +#~ msgstr "Settings for upload pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :upload > :max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:http > :proxy_url" +#~ msgid "Proxy URL" +#~ msgstr "Proxy URL" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :birthday_min_age" +#~ msgid "" +#~ "Minimum required age for users to create account. Only used if birthday " +#~ "is required." +#~ msgstr "" +#~ "Minimum required age for users to create account. Only used if birthday " +#~ "is required." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :birthday_required" +#~ msgid "Require users to enter their birthday." +#~ msgstr "Require users to enter their birthday." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :max_endorsed_users" +#~ msgid "" +#~ "The maximum number of recommended accounts. 0 will disable the feature." +#~ msgstr "" +#~ "The maximum number of recommended accounts. 0 will disable the feature." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :max_media_attachments" +#~ msgid "Maximum number of post media attachments" +#~ msgstr "Maximum number of post media attachments" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default" +#~ msgid "Settings for default pool." +#~ msgstr "Settings for default pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation" +#~ msgid "Settings for federation pool." +#~ msgstr "Settings for federation pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:pools > :federation > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media" +#~ msgid "Settings for media pool." +#~ msgstr "Settings for media pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload" +#~ msgid "Settings for upload pool." +#~ msgstr "Settings for upload pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout > :enabled" +#~ msgid "Enables the backend Shoutbox chat feature." +#~ msgstr "Enables the backend Shoutbox chat feature." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout > :limit" +#~ msgid "Shout message character limit." +#~ msgstr "Shout message character limit." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" +#~ msgid "Enables sending a chat message to newly registered users" +#~ msgstr "Enables sending a chat message to newly registered users" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:welcome > :chat_message > :message" +#~ msgid "" +#~ "A message that will be sent to newly registered users as a chat message" +#~ msgstr "" +#~ "A message that will be sent to newly registered users as a chat message" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:welcome > :chat_message > :sender_nickname" +#~ msgid "The nickname of the local user that sends a welcome chat message" +#~ msgstr "The nickname of the local user that sends a welcome chat message" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "auth" +#~ msgid "Enables HTTP Basic Auth for app metrics endpoint." +#~ msgstr "Enables HTTP Basic Auth for app metrics endpoint." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "enabled" +#~ msgid "[Pleroma extension] Enables app metrics endpoint." +#~ msgstr "[Pleroma extension] Enables app metrics endpoint." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "format" +#~ msgid "App metrics endpoint output format." +#~ msgstr "App metrics endpoint output format." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "ip_whitelist" +#~ msgid "" +#~ "Restrict access of app metrics endpoint to the specified IP addresses." +#~ msgstr "" +#~ "Restrict access of app metrics endpoint to the specified IP addresses." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "path" +#~ msgid "App metrics endpoint URI path." +#~ msgstr "App metrics endpoint URI path." + +#, fuzzy +#~ msgctxt "config description at :quack > :level" +#~ msgid "Log level" +#~ msgstr "Log level" + +#, fuzzy +#~ msgctxt "config description at :quack > :meta" +#~ msgid "Configure which metadata you want to report on" +#~ msgstr "Configure which metadata you want to report on" + +#, fuzzy +#~ msgctxt "config description at :quack > :webhook_url" +#~ msgid "Configure the Slack incoming webhook" +#~ msgstr "Configure the Slack incoming webhook" + +#, fuzzy +#~ msgctxt "config label at :esshd > :handler" +#~ msgid "Handler" +#~ msgstr "Handler" + +#, fuzzy +#~ msgctxt "config label at :esshd > :password_authenticator" +#~ msgid "Password authenticator" +#~ msgstr "Password authenticator" + +#, fuzzy +#~ msgctxt "config label at :esshd > :port" +#~ msgid "Port" +#~ msgstr "Port" + +#, fuzzy +#~ msgctxt "config label at :esshd > :priv_dir" +#~ msgid "Priv dir" +#~ msgstr "Priv dir" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" +#~ msgid "Connect timeout" +#~ msgstr "Connect timeout" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:connections_pool > :" +#~ "connection_acquisition_retries" +#~ msgid "Connection acquisition retries" +#~ msgstr "Connection acquisition retries" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:connections_pool > :connection_acquisition_wait" +#~ msgid "Connection acquisition wait" +#~ msgstr "Connection acquisition wait" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" +#~ msgid "Reclaim multiplier" +#~ msgstr "Reclaim multiplier" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "minimalScopesMode" +#~ msgid "Minimal scopes mode" +#~ msgstr "Minimal scopes mode" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :dstport" +#~ msgid "Dstport" +#~ msgstr "Dstport" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :ip" +#~ msgid "IP" +#~ msgstr "IP" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :port" +#~ msgid "Port" +#~ msgstr "Port" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :federation" +#~ msgid "Federation" +#~ msgstr "Federation" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :federation > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :media" +#~ msgid "Media" +#~ msgstr "Media" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :media > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :upload" +#~ msgid "Upload" +#~ msgstr "Upload" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :upload > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:http > :send_user_agent" +#~ msgid "Send user agent" +#~ msgstr "Send user agent" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :birthday_min_age" +#~ msgid "Birthday min age" +#~ msgstr "Birthday min age" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :birthday_required" +#~ msgid "Birthday required" +#~ msgstr "Birthday required" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :max_endorsed_users" +#~ msgid "Max endorsed users" +#~ msgstr "Max endorsed users" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :max_media_attachments" +#~ msgid "Max media attachments" +#~ msgstr "Max media attachments" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default" +#~ msgid "Default" +#~ msgstr "Default" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation" +#~ msgid "Federation" +#~ msgstr "Federation" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media" +#~ msgid "Media" +#~ msgstr "Media" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload" +#~ msgid "Upload" +#~ msgstr "Upload" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout > :limit" +#~ msgid "Limit" +#~ msgstr "Limit" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message" +#~ msgid "Chat message" +#~ msgstr "Chat message" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message > :message" +#~ msgid "Message" +#~ msgstr "Message" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:welcome > :chat_message > :sender_nickname" +#~ msgid "Sender nickname" +#~ msgstr "Sender nickname" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" +#~ msgid "Auth" +#~ msgstr "Auth" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" +#~ msgid "Format" +#~ msgstr "Format" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "ip_whitelist" +#~ msgid "IP Whitelist" +#~ msgstr "IP Whitelist" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" +#~ msgid "Path" +#~ msgstr "Path" + +#, fuzzy +#~ msgctxt "config label at :quack > :level" +#~ msgid "Level" +#~ msgstr "Level" + +#, fuzzy +#~ msgctxt "config label at :quack > :meta" +#~ msgid "Meta" +#~ msgstr "Meta" + +#, fuzzy +#~ msgctxt "config label at :quack > :webhook_url" +#~ msgid "Webhook URL" +#~ msgstr "Webhook URL" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :short_description" +#~ msgid "" +#~ "Shorter version of instance description. It can be seen on `/api/v1/" +#~ "instance`" +#~ msgstr "" +#~ "Shorter version of instance description. It can be seen on `/api/v1/" +#~ "instance`" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :short_description" +#~ msgid "Short description" +#~ msgstr "Short description" diff --git a/priv/gettext/nl/LC_MESSAGES/config_descriptions.po b/priv/gettext/nl/LC_MESSAGES/config_descriptions.po index 1770b9bfa..18b9fdd19 100644 --- a/priv/gettext/nl/LC_MESSAGES/config_descriptions.po +++ b/priv/gettext/nl/LC_MESSAGES/config_descriptions.po @@ -3,37 +3,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-08-06 21:54+0000\n" -"PO-Revision-Date: 2022-08-06 21:55+0000\n" +"PO-Revision-Date: 2023-02-21 09:45+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.13.1\n" - -# # This file is a PO Template file. -# # -# # "msgid"s here are often extracted from source code. -# # Add new translations manually only if they're dynamic -# # translations that can't be statically extracted. -# # -# # Run "mix gettext.extract" to bring this file up to -# # date. Leave "msgstr"s empty as changing them here has no -# # effect: edit them in PO (.po) files instead. -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd" -msgid "" -"Before enabling this you must add :esshd to mix.exs as one of the " -"extra_applications and generate host keys in your priv dir with ssh-keygen -" -"m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" -msgstr "" -"Before enabling this you must add :esshd to mix.exs as one of the " -"extra_applications and generate host keys in your priv dir with ssh-keygen -" -"m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" +"X-Generator: Weblate 4.14\n" #: lib/pleroma/docs/translator.ex:5 #, fuzzy @@ -67,24 +46,12 @@ msgctxt "config description at :pleroma" msgid "Authenticator" msgstr "Authenticator" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack" -msgid "Quack-related settings" -msgstr "Quack-related settings" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :cors_plug" msgid "CORS plug config" msgstr "CORS plug config" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd" -msgid "ESSHD" -msgstr "ESSHD" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :logger" @@ -109,12 +76,6 @@ msgctxt "config label at :pleroma" msgid "Pleroma Authenticator" msgstr "Pleroma Authenticator" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack" -msgid "Quack Logger" -msgstr "Quack Logger" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :logger-:console" @@ -149,12 +110,6 @@ msgctxt "config description at :pleroma-:auth" msgid "Authentication / authorization settings" msgstr "Authentication / authorization settings" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool" -msgid "Advanced settings for `Gun` connections pool" -msgstr "Advanced settings for `Gun` connections pool" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:email_notifications" @@ -173,38 +128,12 @@ msgctxt "config description at :pleroma-:feed" msgid "Configure feed rendering" msgstr "Configure feed rendering" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:frontend_configurations" -msgid "" -"This form can be used to configure a keyword list that keeps the " -"configuration data for any kind of frontend. By default, settings for " -"pleroma_fe are configured. If you want to add your own configuration your " -"settings all fields must be complete." -msgstr "" -"This form can be used to configure a keyword list that keeps the " -"configuration data for any kind of frontend. By default, settings for " -"pleroma_fe are configured. If you want to add your own configuration your " -"settings all fields must be complete." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:frontends" msgid "Installed frontends management" msgstr "Installed frontends management" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher" -msgid "Gopher settings" -msgstr "Gopher settings" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools" -msgid "Advanced settings for `Hackney` connections pools" -msgstr "Advanced settings for `Hackney` connections pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http" @@ -393,12 +322,6 @@ msgctxt "config description at :pleroma-:oauth2" msgid "Configure OAuth 2 provider capabilities" msgstr "Configure OAuth 2 provider capabilities" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools" -msgid "Advanced settings for `Gun` workers pools" -msgstr "Advanced settings for `Gun` workers pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:populate_hashtags_table" @@ -415,16 +338,6 @@ msgstr "" "Rate limit settings. This is an advanced feature enabled only for :" "authentication by default." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:restrict_unauthenticated" -msgid "" -"Disallow viewing timelines, user profiles and statuses for unauthenticated " -"users." -msgstr "" -"Disallow viewing timelines, user profiles and statuses for unauthenticated " -"users." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:rich_media" @@ -435,12 +348,6 @@ msgstr "" "If enabled the instance will parse metadata from attached links to generate " "link previews" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout" -msgid "Pleroma shout settings" -msgstr "Pleroma shout settings" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:static_fe" @@ -636,13 +543,6 @@ msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Expired activities settings" msgstr "Expired activities settings" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Prometheus app metrics endpoint configuration" -msgstr "Prometheus app metrics endpoint configuration" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :web_push_encryption-:vapid_details" @@ -689,12 +589,6 @@ msgctxt "config label at :pleroma-:auth" msgid "Auth" msgstr "Auth" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool" -msgid "Connections pool" -msgstr "Connections pool" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:email_notifications" @@ -731,18 +625,6 @@ msgctxt "config label at :pleroma-:frontends" msgid "Frontends" msgstr "Frontends" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher" -msgid "Gopher" -msgstr "Gopher" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools" -msgid "Hackney pools" -msgstr "Hackney pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http" @@ -899,12 +781,6 @@ msgctxt "config label at :pleroma-:oauth2" msgid "OAuth2" msgstr "OAuth2" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools" -msgid "Pools" -msgstr "Pools" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:populate_hashtags_table" @@ -929,12 +805,6 @@ msgctxt "config label at :pleroma-:rich_media" msgid "Rich media" msgstr "Rich media" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout" -msgid "Shout" -msgstr "Shout" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:static_fe" @@ -1115,48 +985,12 @@ msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity" msgid "Pleroma.Workers.PurgeExpiredActivity" msgstr "Pleroma.Workers.PurgeExpiredActivity" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" -msgid "Pleroma.Web.Endpoint.MetricsExporter" -msgstr "Pleroma.Web.Endpoint.MetricsExporter" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :web_push_encryption-:vapid_details" msgid "Vapid Details" msgstr "Vapid Details" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :enabled" -msgid "Enables SSH" -msgstr "Enables SSH" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :handler" -msgid "Handler module" -msgstr "Handler module" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :password_authenticator" -msgid "Authenticator module" -msgstr "Authenticator module" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :port" -msgid "Port to connect" -msgstr "Port to connect" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :esshd > :priv_dir" -msgid "Dir with SSH keys" -msgstr "Dir with SSH keys" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :ex_aws-:s3 > :access_key_id" @@ -1350,57 +1184,6 @@ msgstr "" "html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer." "html.eex`." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool > :connect_timeout" -msgid "Timeout while `gun` will wait until connection is up. Default: 5000ms." -msgstr "Timeout while `gun` will wait until connection is up. Default: 5000ms." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :" -"connection_acquisition_retries" -msgid "" -"Number of attempts to acquire the connection from the pool if it is " -"overloaded. Default: 5" -msgstr "" -"Number of attempts to acquire the connection from the pool if it is " -"overloaded. Default: 5" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :" -"connection_acquisition_wait" -msgid "" -"Timeout to acquire a connection from pool. The total max time is this value " -"multiplied by the number of retries. Default: 250ms." -msgstr "" -"Timeout to acquire a connection from pool. The total max time is this value " -"multiplied by the number of retries. Default: 250ms." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:connections_pool > :max_connections" -msgid "Maximum number of connections in the pool. Default: 250 connections." -msgstr "Maximum number of connections in the pool. Default: 250 connections." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "" -"Multiplier for the number of idle connection to be reclaimed if the pool is " -"full. For example if the pool maxes out at 250 connections and this setting " -"is set to 0.3, the pool will reclaim at most 75 idle connections if it's " -"overloaded. Default: 0.1" -msgstr "" -"Multiplier for the number of idle connection to be reclaimed if the pool is " -"full. For example if the pool maxes out at 250 connections and this setting " -"is set to 0.3, the pool will reclaim at most 75 idle connections if it's " -"overloaded. Default: 0.1" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:email_notifications > :digest" @@ -1582,14 +1365,6 @@ msgctxt "" msgid "Hide notices statistics (repeats, favorites, ...)" msgstr "Hide notices statistics (repeats, favorites, ...)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" -"hideSitename" -msgid "Hides instance name from PleromaFE banner" -msgstr "Hides instance name from PleromaFE banner" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -1635,18 +1410,6 @@ msgstr "" "compatible with both light and dark themes. If you want a colorful logo you " "must disable logoMask." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" -"minimalScopesMode" -msgid "" -"Limit scope selection to Direct, User default, and Scope of post replying " -"to. Also prevents replying to a DM with a public post from PleromaFE." -msgstr "" -"Limit scope selection to Direct, User default, and Scope of post replying " -"to. Also prevents replying to a DM with a public post from PleromaFE." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -1846,89 +1609,6 @@ msgstr "" "Reference of the installed frontend to be used. Valid config must include " "both `Name` and `Reference` values." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :dstport" -msgid "Port advertised in URLs (optional, defaults to port)" -msgstr "Port advertised in URLs (optional, defaults to port)" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :enabled" -msgid "Enables the gopher interface" -msgstr "Enables the gopher interface" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :ip" -msgid "IP address to bind to" -msgstr "IP address to bind to" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:gopher > :port" -msgid "Port to bind to" -msgstr "Port to bind to" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :federation" -msgid "Settings for federation pool." -msgstr "Settings for federation pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :federation > :" -"max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :media" -msgid "Settings for media pool." -msgstr "Settings for media pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :upload" -msgid "Settings for upload pool." -msgstr "Settings for upload pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Number workers in the pool." -msgstr "Number workers in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout while `hackney` will wait for response." -msgstr "Timeout while `hackney` will wait for response." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http > :adapter" @@ -1948,12 +1628,6 @@ msgctxt "" msgid "List of TLS version to use" msgstr "List of TLS version to use" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:http > :proxy_url" -msgid "Proxy URL" -msgstr "Proxy URL" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:http > :user_agent" @@ -2080,22 +1754,6 @@ msgctxt "config description at :pleroma-:instance > :banner_upload_limit" msgid "File size limit of user's profile banners" msgstr "File size limit of user's profile banners" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :birthday_min_age" -msgid "" -"Minimum required age for users to create account. Only used if birthday is " -"required." -msgstr "" -"Minimum required age for users to create account. Only used if birthday is " -"required." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :birthday_required" -msgid "Require users to enter their birthday." -msgstr "Require users to enter their birthday." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :cleanup_attachments" @@ -2177,12 +1835,6 @@ msgstr "" "Timeout (in days) of each external federation target being unreachable prior " "to pausing federating to it" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :healthcheck" -msgid "If enabled, system data will be shown on `/api/pleroma/healthcheck`" -msgstr "If enabled, system data will be shown on `/api/pleroma/healthcheck`" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :instance_thumbnail" @@ -2227,19 +1879,6 @@ msgctxt "config description at :pleroma-:instance > :max_account_fields" msgid "The maximum number of custom fields in the user profile. Default: 10." msgstr "The maximum number of custom fields in the user profile. Default: 10." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :max_endorsed_users" -msgid "The maximum number of recommended accounts. 0 will disable the feature." -msgstr "" -"The maximum number of recommended accounts. 0 will disable the feature." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :max_media_attachments" -msgid "Maximum number of post media attachments" -msgstr "Maximum number of post media attachments" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :max_pinned_statuses" @@ -2373,48 +2012,12 @@ msgctxt "" msgid "Minimum expiration time (in seconds)" msgstr "Minimum expiration time (in seconds)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :privileged_staff" -msgid "" -"Let moderators access sensitive data (e.g. updating user credentials, get " -"password reset token, delete users, index and read private statuses and " -"chats)" -msgstr "" -"Let moderators access sensitive data (e.g. updating user credentials, get " -"password reset token, delete users, index and read private statuses and " -"chats)" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:instance > :profile_directory" msgid "Enable profile directory." msgstr "Enable profile directory." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :public" -msgid "" -"Makes the client API in authenticated mode-only except for user-profiles. " -"Useful for disabling the Local Timeline and The Whole Known Network. Note: " -"when setting to `false`, please also check `:restrict_unauthenticated` " -"setting." -msgstr "" -"Makes the client API in authenticated mode-only except for user-profiles. " -"Useful for disabling the Local Timeline and The Whole Known Network. Note: " -"when setting to `false`, please also check `:restrict_unauthenticated` " -"setting." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :quarantined_instances" -msgid "" -"List of ActivityPub instances where private (DMs, followers-only) activities " -"will not be sent and the reason for doing so" -msgstr "" -"List of ActivityPub instances where private (DMs, followers-only) activities " -"will not be sent and the reason for doing so" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -2591,24 +2194,12 @@ msgctxt "config description at :pleroma-:majic_pool > :size" msgid "Number of majic workers to start." msgstr "Number of majic workers to start." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:manifest > :background_color" -msgid "Describe the background color of the app" -msgstr "Describe the background color of the app" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:manifest > :icons" msgid "Describe the icons of the app" msgstr "Describe the icons of the app" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:manifest > :theme_color" -msgid "Describe the theme color of the app" -msgstr "Describe the theme color of the app" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:markup > :scrub_policy" @@ -3106,126 +2697,6 @@ msgctxt "config description at :pleroma-:oauth2 > :token_expires_in" msgid "The lifetime in seconds of the access token" msgstr "The lifetime in seconds of the access token" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default" -msgid "Settings for default pool." -msgstr "Settings for default pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :default > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation" -msgid "Settings for federation pool." -msgstr "Settings for federation pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :federation > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media" -msgid "Settings for media pool." -msgstr "Settings for media pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :media > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload" -msgid "Settings for upload pool." -msgstr "Settings for upload pool." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" -msgid "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" -msgstr "" -"Maximum number of requests waiting for other requests to finish. After this " -"number is reached, the pool will start returning errrors when a new request " -"is made" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" -msgid "Timeout for the pool while gun will wait for response" -msgstr "Timeout for the pool while gun will wait for response" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:pools > :upload > :size" -msgid "Maximum number of concurrent requests in the pool." -msgstr "Maximum number of concurrent requests in the pool." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -3309,72 +2780,18 @@ msgctxt "config description at :pleroma-:rate_limit > :timeline" msgid "For requests to timelines (each timeline has it's own limiter)" msgstr "For requests to timelines (each timeline has it's own limiter)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities" -msgid "Settings for statuses." -msgstr "Settings for statuses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities > :" -"local" -msgid "Disallow view local statuses." -msgstr "Disallow view local statuses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :activities > :" -"remote" -msgid "Disallow view remote statuses." -msgstr "Disallow view remote statuses." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles" msgid "Settings for user profiles." msgstr "Settings for user profiles." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :profiles > :local" -msgid "Disallow view local user profiles." -msgstr "Disallow view local user profiles." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :profiles > :" -"remote" -msgid "Disallow view remote user profiles." -msgstr "Disallow view remote user profiles." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines" msgid "Settings for public and federated timelines." msgstr "Settings for public and federated timelines." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :timelines > :" -"federated" -msgid "Disallow view federated timeline." -msgstr "Disallow view federated timeline." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:restrict_unauthenticated > :timelines > :" -"local" -msgid "Disallow view public timeline." -msgstr "Disallow view public timeline." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:rich_media > :enabled" @@ -3427,18 +2844,6 @@ msgstr "" "`Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need " "to use full name." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout > :enabled" -msgid "Enables the backend Shoutbox chat feature." -msgstr "Enables the backend Shoutbox chat feature." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:shout > :limit" -msgid "Shout message character limit." -msgstr "Shout message character limit." - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:static_fe > :enabled" @@ -3482,26 +2887,6 @@ msgid "" msgstr "" "Activity pub routes (question activities). Default: `30_000` (30 seconds)." -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enables sending a chat message to newly registered users" -msgstr "Enables sending a chat message to newly registered users" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:welcome > :chat_message > :message" -msgid "A message that will be sent to newly registered users as a chat message" -msgstr "" -"A message that will be sent to newly registered users as a chat message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "The nickname of the local user that sends a welcome chat message" -msgstr "The nickname of the local user that sends a welcome chat message" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config description at :pleroma-:welcome > :direct_message > :enabled" @@ -4178,64 +3563,6 @@ msgctxt "" msgid "Minimum lifetime for ephemeral activity (in seconds)" msgstr "Minimum lifetime for ephemeral activity (in seconds)" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"auth" -msgid "Enables HTTP Basic Auth for app metrics endpoint." -msgstr "Enables HTTP Basic Auth for app metrics endpoint." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"enabled" -msgid "[Pleroma extension] Enables app metrics endpoint." -msgstr "[Pleroma extension] Enables app metrics endpoint." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"format" -msgid "App metrics endpoint output format." -msgstr "App metrics endpoint output format." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"ip_whitelist" -msgid "Restrict access of app metrics endpoint to the specified IP addresses." -msgstr "Restrict access of app metrics endpoint to the specified IP addresses." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"path" -msgid "App metrics endpoint URI path." -msgstr "App metrics endpoint URI path." - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :level" -msgid "Log level" -msgstr "Log level" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :meta" -msgid "Configure which metadata you want to report on" -msgstr "Configure which metadata you want to report on" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :quack > :webhook_url" -msgid "Configure the Slack incoming webhook" -msgstr "Configure the Slack incoming webhook" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4292,36 +3619,6 @@ msgctxt "config label at :cors_plug > :methods" msgid "Methods" msgstr "Methods" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :handler" -msgid "Handler" -msgstr "Handler" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :password_authenticator" -msgid "Password authenticator" -msgstr "Password authenticator" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :port" -msgid "Port" -msgstr "Port" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :esshd > :priv_dir" -msgid "Priv dir" -msgstr "Priv dir" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :ex_aws-:s3 > :access_key_id" @@ -4520,38 +3817,6 @@ msgctxt "config label at :pleroma-:auth > :oauth_consumer_template" msgid "OAuth consumer template" msgstr "OAuth consumer template" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" -msgid "Connect timeout" -msgstr "Connect timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:connections_pool > :connection_acquisition_retries" -msgid "Connection acquisition retries" -msgstr "Connection acquisition retries" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:connections_pool > :connection_acquisition_wait" -msgid "Connection acquisition wait" -msgstr "Connection acquisition wait" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" -msgid "Reclaim multiplier" -msgstr "Reclaim multiplier" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:email_notifications > :digest" @@ -4698,14 +3963,6 @@ msgctxt "" msgid "Hide post stats" msgstr "Hide post stats" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" -"hideSitename" -msgid "Hide Sitename" -msgstr "Hide Sitename" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4735,14 +3992,6 @@ msgctxt "" msgid "Logo mask" msgstr "Logo mask" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" -"minimalScopesMode" -msgid "Minimal scopes mode" -msgstr "Minimal scopes mode" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -4900,85 +4149,6 @@ msgctxt "config label at :pleroma-:frontends > :primary > ref" msgid "Reference" msgstr "Reference" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :dstport" -msgid "Dstport" -msgstr "Dstport" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :ip" -msgid "IP" -msgstr "IP" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:gopher > :port" -msgid "Port" -msgstr "Port" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :federation" -msgid "Federation" -msgstr "Federation" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :pleroma-:hackney_pools > :federation > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :federation > :timeout" -msgid "Timeout" -msgstr "Timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media" -msgid "Media" -msgstr "Media" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" -msgid "Timeout" -msgstr "Timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload" -msgid "Upload" -msgstr "Upload" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload > :max_connections" -msgid "Max connections" -msgstr "Max connections" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" -msgid "Timeout" -msgstr "Timeout" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http > :adapter" @@ -5003,12 +4173,6 @@ msgctxt "config label at :pleroma-:http > :proxy_url" msgid "Proxy URL" msgstr "Proxy URL" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:http > :send_user_agent" -msgid "Send user agent" -msgstr "Send user agent" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:http > :user_agent" @@ -5117,18 +4281,6 @@ msgctxt "config label at :pleroma-:instance > :banner_upload_limit" msgid "Banner upload limit" msgstr "Banner upload limit" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :birthday_min_age" -msgid "Birthday min age" -msgstr "Birthday min age" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :birthday_required" -msgid "Birthday required" -msgstr "Birthday required" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:instance > :cleanup_attachments" @@ -5215,18 +4367,6 @@ msgctxt "config label at :pleroma-:instance > :max_account_fields" msgid "Max account fields" msgstr "Max account fields" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :max_endorsed_users" -msgid "Max endorsed users" -msgstr "Max endorsed users" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:instance > :max_media_attachments" -msgid "Max media attachments" -msgstr "Max media attachments" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:instance > :max_pinned_statuses" @@ -5895,102 +5035,6 @@ msgctxt "config label at :pleroma-:oauth2 > :token_expires_in" msgid "Token expires in" msgstr "Token expires in" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default" -msgid "Default" -msgstr "Default" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :default > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation" -msgid "Federation" -msgstr "Federation" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :federation > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media" -msgid "Media" -msgstr "Media" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :media > :size" -msgid "Size" -msgstr "Size" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload" -msgid "Upload" -msgstr "Upload" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" -msgid "Max waiting" -msgstr "Max waiting" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" -msgid "Recv timeout" -msgstr "Recv timeout" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:pools > :upload > :size" -msgid "Size" -msgstr "Size" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "" @@ -6149,18 +5193,6 @@ msgctxt "config label at :pleroma-:rich_media > :ttl_setters" msgid "TTL setters" msgstr "TTL setters" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:shout > :limit" -msgid "Limit" -msgstr "Limit" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:static_fe > :enabled" @@ -6203,30 +5235,6 @@ msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub_question" msgid "Activity pub question" msgstr "Activity pub question" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message" -msgid "Chat message" -msgstr "Chat message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :message" -msgid "Message" -msgstr "Message" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :pleroma-:welcome > :chat_message > :sender_nickname" -msgid "Sender nickname" -msgstr "Sender nickname" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:welcome > :direct_message" @@ -7003,60 +6011,6 @@ msgctxt "" msgid "Min lifetime" msgstr "Min lifetime" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" -msgid "Auth" -msgstr "Auth" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled" -msgid "Enabled" -msgstr "Enabled" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" -msgid "Format" -msgstr "Format" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" -"ip_whitelist" -msgid "IP Whitelist" -msgstr "IP Whitelist" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "" -"config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" -msgid "Path" -msgstr "Path" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :level" -msgid "Level" -msgstr "Level" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :meta" -msgid "Meta" -msgstr "Meta" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config label at :quack > :webhook_url" -msgid "Webhook URL" -msgstr "Webhook URL" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :web_push_encryption-:vapid_details > :private_key" @@ -7075,20 +6029,6 @@ msgctxt "config label at :web_push_encryption-:vapid_details > :subject" msgid "Subject" msgstr "Subject" -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" -msgid "Require HTTP signatures for AP fetches" -msgstr "Require HTTP signatures for AP fetches" - -#: lib/pleroma/docs/translator.ex:5 -#, fuzzy -msgctxt "config description at :pleroma-:instance > :short_description" -msgid "" -"Shorter version of instance description. It can be seen on `/api/v1/instance`" -msgstr "" -"Shorter version of instance description. It can be seen on `/api/v1/instance`" - #: lib/pleroma/docs/translator.ex:5 #, fuzzy msgctxt "config label at :pleroma-:activitypub > :authorized_fetch_mode" @@ -7097,6 +6037,1851 @@ msgstr "Authorized fetch mode" #: lib/pleroma/docs/translator.ex:5 #, fuzzy -msgctxt "config label at :pleroma-:instance > :short_description" -msgid "Short description" -msgstr "Short description" +msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" +msgid "Require HTTP signatures on AP fetches" +msgstr "Require HTTP signatures for AP fetches" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:activitypub > :max_collection_objects" +msgid "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." +msgstr "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate" +msgid "ArgosTranslate Settings." +msgstr "Preload-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:argos_translate > :command_argos_translate" +msgid "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." +msgstr "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :command_argospm" +msgid "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." +msgstr "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :strip_html" +msgid "Strip html from the post before translating it." +msgstr "Strip html from the post before translating it." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl" +msgid "DeepL Settings." +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl > :api_key" +msgid "API key for DeepL" +msgstr "API key for DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:deepl > :tier" +msgid "API Tier" +msgstr "API Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations" +msgid "" +"This form can be used to configure a keyword list that keeps the " +"configuration data for any kind of frontend. By default, settings for " +"pleroma_fe and masto_fe are configured. If you want to add your own " +"configuration your settings all fields must be complete." +msgstr "" +"This form can be used to configure a keyword list that keeps the " +"configuration data for any kind of frontend. By default, settings for " +"pleroma_fe are configured. If you want to add your own configuration your " +"settings all fields must be complete." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe" +msgid "Settings for Masto FE" +msgstr "Settings for Pleroma FE" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :masto_fe > :" +"showInstanceSpecificPanel" +msgid "Whenether to show the instance's specific panel" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"conversationDisplay" +msgid "How to display conversations (linear or tree)" +msgstr "How to display conversations (linear or tree)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteFavicon" +msgid "Whether to hide the instance favicon from the navbar" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteName" +msgid "Whether to hide the site name from the navbar" +msgstr "Whether to hide the site name from the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"renderMisskeyMarkdown" +msgid "Whether to render Misskey-flavoured markdown" +msgstr "Whether to render Misskey-flavoured markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showNavShortcuts" +msgid "Whether to put extra navigation options on the navbar" +msgstr "Whether to put extra navigation options on the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showPanelNavShortcuts" +msgid "Whether to put timeline nav tabs on the top of the panel" +msgstr "Whether to put timeline nav tabs on the top of the panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showWiderShortcuts" +msgid "Whether to add extra space between navbar icons" +msgstr "Whether to add extra space between navbar icons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +"stopGifs" +msgid "Whether to pause animated images until they're hovered on" +msgstr "Whether to pause animated images until they're hovered on" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon" +msgid "Mastodon frontend" +msgstr "Admin frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > name" +msgid "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > ref" +msgid "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger" +msgid "Swagger API reference frontend" +msgstr "Swagger API reference frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > enabled" +msgid "Whether to have this enabled at all" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > name" +msgid "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > ref" +msgid "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :pool_size" +msgid "Number of concurrent outbound HTTP requests to allow. Default 50." +msgstr "Number of concurrent outbound HTTP requests to allow. Default 50." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :pool_timeout" +msgid "Timeout for initiating HTTP requests (in ms, default 5000)" +msgstr "Timeout for initiating HTTP requests (in ms, default 5000)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :proxy_url" +msgid "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." +msgstr "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:http > :receive_timeout" +msgid "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" +msgstr "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :export_prometheus_metrics" +msgid "Enable prometheus metrics (at /api/v1/akkoma/metrics)" +msgstr "Enable prometheus metrics (at /api/v1/akkoma/metrics)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :languages" +msgid "Languages the instance uses" +msgstr "Name of the instance" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :local_bubble" +msgid "" +"List of instances that make up your local bubble (closely-related " +"instances). Used to populate the 'bubble' timeline (domain only)." +msgstr "" +"List of instances that make up your local bubble (closely-related instances)" +". Used to populate the 'bubble' timeline (domain only)." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :privileged_staff" +msgid "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses)" +msgstr "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses and " +"chats)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :public" +msgid "" +"Switching this on will allow unauthenticated users access to all public " +"resources on your instance Switching it off is useful for disabling the " +"Local Timeline and The Whole Known Network. Note: when setting to `false`, " +"please also check `:restrict_unauthenticated` setting." +msgstr "" +"Makes the client API in authenticated mode-only except for user-profiles. " +"Useful for disabling the Local Timeline and The Whole Known Network. Note: " +"when setting to `false`, please also check `:restrict_unauthenticated` " +"setting." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :quarantined_instances" +msgid "" +"(Deprecated, will be removed in next release) List of ActivityPub instances " +"where activities will not be sent, and the reason for doing so" +msgstr "" +"List of ActivityPub instances where private (DMs, followers-only) activities " +"will not be sent and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo" +msgid "Control favicons for instances" +msgstr "Control favicons for instances" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo > :enabled" +msgid "Allow/disallow getting instance nodeinfo" +msgstr "Allow/disallow displaying and getting instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate" +msgid "LibreTranslate Settings." +msgstr "Logger-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :api_key" +msgid "API key for libretranslate" +msgstr "API key for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :url" +msgid "URL for libretranslate" +msgstr "URL for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:manifest > :background_color" +msgid "" +"Describe the background color of the app - this is only used for mastodon-fe" +msgstr "Describe the background color of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:manifest > :theme_color" +msgid "Describe the theme color of the app - this is only used for mastodon-fe" +msgstr "Describe the theme color of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." +msgstr "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote" +msgid "Force quote post URLs inline" +msgstr "Force quote post URLs inline" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix before the link" +msgstr "Prefix before the link" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :handle_threads" +msgid "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" +msgstr "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated" +msgid "" +"Disallow unauthenticated viewing of timelines, user profiles and statuses." +msgstr "" +"Disallow viewing timelines, user profiles and statuses for unauthenticated " +"users." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities" +msgid "Settings for posts." +msgstr "Settings for statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities > :" +"local" +msgid "Disallow viewing local posts." +msgstr "Disallow view local statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :activities > :" +"remote" +msgid "Disallow viewing remote posts." +msgstr "Disallow view remote statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :profiles > :local" +msgid "Disallow viewing local user profiles." +msgstr "Disallow view local user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :profiles > :" +"remote" +msgid "Disallow viewing remote user profiles." +msgstr "Disallow view remote user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :timelines > :" +"federated" +msgid "Disallow viewing the whole known network timeline." +msgstr "Disallow view federated timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-:restrict_unauthenticated > :timelines > :" +"local" +msgid "Disallow viewing the public timeline." +msgstr "Disallow view public timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator" +msgid "Translation Settings" +msgstr "Invalidation script settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator > :enabled" +msgid "Is translation enabled?" +msgstr "Streaming enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:translator > :module" +msgid "Translation module." +msgstr "Handler module" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:workers > :timeout" +msgid "Timeout for jobs, per `Oban` queue, in ms" +msgstr "Max retry attempts for failed jobs, per `Oban` queue" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search" +msgid "General search settings." +msgstr "General MRF settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search > :module" +msgid "Selected search module." +msgstr "Rejected shortcodes" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch settings." +msgstr "Email template settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" +msgstr "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes" +msgid "The indices to set up in Elasticsearch" +msgstr "The indices to set up in Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities" +msgid "Config for the index to use for activities" +msgstr "Config for the index to use for activities" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :bulk_page_size" +msgid "Size for bulk put requests, mostly used on building the index" +msgstr "Size for bulk put requests, mostly used on building the index" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :bulk_wait_interval" +msgid "Time to wait between bulk put requests (in ms)" +msgstr "Time to wait between bulk put requests (in ms)" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :settings" +msgid "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." +msgstr "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :sources" +msgid "The internal types to use for this index" +msgstr "The internal types to use for this index" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"indexes > :activities > :store" +msgid "The internal store module" +msgstr "Authenticator module" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"json_library" +msgid "" +"The JSON module used to encode/decode when communicating with Elasticsearch" +msgstr "" +"The JSON module used to encode/decode when communicating with Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"password" +msgid "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Elasticsearch URL." +msgstr "Elasticsearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :" +"username" +msgid "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch" +msgid "Meilisearch settings." +msgstr "Mailer-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Meilisearch > :" +"initial_indexing_chunk_size" +msgid "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" +msgstr "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." +msgstr "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Meilisearch URL." +msgstr "Meilisearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "" +"Specific provider to hand out themes to instances that scrape index.html" +msgstr "" +"Specific provider to hand out themes to instances that scrape index.html" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :" +"theme_color" +msgid "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" +msgstr "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:activitypub > :max_collection_objects" +msgid "Max collection objects" +msgstr "Max connections" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate" +msgid "Argos translate" +msgstr "Argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argos_translate" +msgid "Command argos translate" +msgstr "Command argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argospm" +msgid "Command argospm" +msgstr "Cmd args" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :strip_html" +msgid "Strip html" +msgstr "Strict" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl" +msgid "DeepL" +msgstr "DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl > :api_key" +msgid "Api key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:deepl > :tier" +msgid "Tier" +msgstr "Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe" +msgid "Masto FE" +msgstr "Masto FE" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :masto_fe > :" +"showInstanceSpecificPanel" +msgid "Show instance specific panel" +msgstr "Show instance specific panel" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"conversationDisplay" +msgid "Conversation display style" +msgstr "Conversation display style" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteFavicon" +msgid "Hide site favicon" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"hideSiteName" +msgid "Hide site name" +msgstr "Hide Sitename" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"renderMisskeyMarkdown" +msgid "Render misskey markdown" +msgstr "Render misskey markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showNavShortcuts" +msgid "Show navbar shortcuts" +msgstr "Show navbar shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showPanelNavShortcuts" +msgid "Show timeline panel nav shortcuts" +msgstr "Show timeline panel nav shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +"showWiderShortcuts" +msgid "Increase navbar shortcut spacing" +msgstr "Increase navbar shortcut spacing" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Stop Gifs" +msgstr "Stop Gifs" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon" +msgid "Mastodon" +msgstr "Mastodon" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger" +msgid "Swagger" +msgstr "Logger" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :pool_size" +msgid "Pool size" +msgstr "Pools" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :pool_timeout" +msgid "HTTP Pool Request Timeout" +msgstr "HTTP Pool Request Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:http > :receive_timeout" +msgid "HTTP Receive Timeout" +msgstr "Recv timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :export_prometheus_metrics" +msgid "Export prometheus metrics" +msgstr "Export prometheus metrics" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :languages" +msgid "Languages" +msgstr "Languages" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instance > :local_bubble" +msgid "Local bubble" +msgstr "Local bubble" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo" +msgid "Instances nodeinfo" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate" +msgid "Libre translate" +msgstr "Libre translate" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :api_key" +msgid "Api key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "MRF domain obfuscation" +msgstr "MRF domain obfuscation" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote" +msgid "MRF Inline Quote" +msgstr "MRF Inline Quote" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix" +msgstr "Prefix" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :handle_threads" +msgid "Apply to entire threads" +msgstr "Apply to entire threads" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator" +msgid "Translator" +msgstr "Translator" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:translator > :module" +msgid "Module" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-:workers > :timeout" +msgid "Timeout" +msgstr "Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search" +msgid "Search" +msgstr "Search" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search > :module" +msgid "Module" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch" +msgstr "Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "Api" +msgstr "Api" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "Indexes" +msgstr "Indexes" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities" +msgid "Activities" +msgstr "Activities" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :bulk_page_size" +msgid "Bulk page size" +msgstr "Bulk page size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :bulk_wait_interval" +msgid "Bulk wait interval" +msgstr "Bulk wait interval" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :settings" +msgid "Settings" +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :sources" +msgid "Sources" +msgstr "Sources" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :" +"activities > :store" +msgid "Store" +msgstr "Store" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "Json library" +msgstr "Json library" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password" +msgstr "Password" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username" +msgstr "Username" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch" +msgid "Pleroma.Search.Meilisearch" +msgstr "Pleroma.Emails.Mailer" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Search.Meilisearch > :" +"initial_indexing_chunk_size" +msgid "Initial indexing chunk size" +msgstr "Initial indexing chunk size" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key" +msgstr "Private key" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Pleroma.Web.Metadata.Providers.Theme" +msgstr "Pleroma.Web.Metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "" +"config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "Theme color" +msgstr "Theme color" + +#: lib/pleroma/docs/translator.ex:5 +#, fuzzy +msgctxt "config description at :pleroma-:instance > :healthcheck" +msgid "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" +msgstr "If enabled, system data will be shown on `/api/pleroma/healthcheck`" + +# # This file is a PO Template file. +# # +# # "msgid"s here are often extracted from source code. +# # Add new translations manually only if they're dynamic +# # translations that can't be statically extracted. +# # +# # Run "mix gettext.extract" to bring this file up to +# # date. Leave "msgstr"s empty as changing them here has no +# # effect: edit them in PO (.po) files instead. +#, fuzzy +#~ msgctxt "config description at :esshd" +#~ msgid "" +#~ "Before enabling this you must add :esshd to mix.exs as one of the " +#~ "extra_applications and generate host keys in your priv dir with ssh-" +#~ "keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" +#~ msgstr "" +#~ "Before enabling this you must add :esshd to mix.exs as one of the " +#~ "extra_applications and generate host keys in your priv dir with ssh-" +#~ "keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key" + +#, fuzzy +#~ msgctxt "config description at :quack" +#~ msgid "Quack-related settings" +#~ msgstr "Quack-related settings" + +#, fuzzy +#~ msgctxt "config label at :esshd" +#~ msgid "ESSHD" +#~ msgstr "ESSHD" + +#, fuzzy +#~ msgctxt "config label at :quack" +#~ msgid "Quack Logger" +#~ msgstr "Quack Logger" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:connections_pool" +#~ msgid "Advanced settings for `Gun` connections pool" +#~ msgstr "Advanced settings for `Gun` connections pool" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher" +#~ msgid "Gopher settings" +#~ msgstr "Gopher settings" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools" +#~ msgid "Advanced settings for `Hackney` connections pools" +#~ msgstr "Advanced settings for `Hackney` connections pools" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools" +#~ msgid "Advanced settings for `Gun` workers pools" +#~ msgstr "Advanced settings for `Gun` workers pools" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout" +#~ msgid "Pleroma shout settings" +#~ msgstr "Pleroma shout settings" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" +#~ msgid "Prometheus app metrics endpoint configuration" +#~ msgstr "Prometheus app metrics endpoint configuration" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool" +#~ msgid "Connections pool" +#~ msgstr "Connections pool" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher" +#~ msgid "Gopher" +#~ msgstr "Gopher" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools" +#~ msgid "Hackney pools" +#~ msgstr "Hackney pools" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout" +#~ msgid "Shout" +#~ msgstr "Shout" + +#, fuzzy +#~ msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter" +#~ msgid "Pleroma.Web.Endpoint.MetricsExporter" +#~ msgstr "Pleroma.Web.Endpoint.MetricsExporter" + +#, fuzzy +#~ msgctxt "config description at :esshd > :enabled" +#~ msgid "Enables SSH" +#~ msgstr "Enables SSH" + +#, fuzzy +#~ msgctxt "config description at :esshd > :port" +#~ msgid "Port to connect" +#~ msgstr "Port to connect" + +#, fuzzy +#~ msgctxt "config description at :esshd > :priv_dir" +#~ msgid "Dir with SSH keys" +#~ msgstr "Dir with SSH keys" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :connect_timeout" +#~ msgid "" +#~ "Timeout while `gun` will wait until connection is up. Default: 5000ms." +#~ msgstr "" +#~ "Timeout while `gun` will wait until connection is up. Default: 5000ms." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :" +#~ "connection_acquisition_retries" +#~ msgid "" +#~ "Number of attempts to acquire the connection from the pool if it is " +#~ "overloaded. Default: 5" +#~ msgstr "" +#~ "Number of attempts to acquire the connection from the pool if it is " +#~ "overloaded. Default: 5" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :" +#~ "connection_acquisition_wait" +#~ msgid "" +#~ "Timeout to acquire a connection from pool. The total max time is this " +#~ "value multiplied by the number of retries. Default: 250ms." +#~ msgstr "" +#~ "Timeout to acquire a connection from pool. The total max time is this " +#~ "value multiplied by the number of retries. Default: 250ms." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :max_connections" +#~ msgid "Maximum number of connections in the pool. Default: 250 connections." +#~ msgstr "" +#~ "Maximum number of connections in the pool. Default: 250 connections." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:connections_pool > :reclaim_multiplier" +#~ msgid "" +#~ "Multiplier for the number of idle connection to be reclaimed if the pool " +#~ "is full. For example if the pool maxes out at 250 connections and this " +#~ "setting is set to 0.3, the pool will reclaim at most 75 idle connections " +#~ "if it's overloaded. Default: 0.1" +#~ msgstr "" +#~ "Multiplier for the number of idle connection to be reclaimed if the pool " +#~ "is full. For example if the pool maxes out at 250 connections and this " +#~ "setting is set to 0.3, the pool will reclaim at most 75 idle connections " +#~ "if it's overloaded. Default: 0.1" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "hideSitename" +#~ msgid "Hides instance name from PleromaFE banner" +#~ msgstr "Hides instance name from PleromaFE banner" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "minimalScopesMode" +#~ msgid "" +#~ "Limit scope selection to Direct, User default, and Scope of post replying " +#~ "to. Also prevents replying to a DM with a public post from PleromaFE." +#~ msgstr "" +#~ "Limit scope selection to Direct, User default, and Scope of post replying " +#~ "to. Also prevents replying to a DM with a public post from PleromaFE." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :dstport" +#~ msgid "Port advertised in URLs (optional, defaults to port)" +#~ msgstr "Port advertised in URLs (optional, defaults to port)" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :enabled" +#~ msgid "Enables the gopher interface" +#~ msgstr "Enables the gopher interface" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :ip" +#~ msgid "IP address to bind to" +#~ msgstr "IP address to bind to" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:gopher > :port" +#~ msgid "Port to bind to" +#~ msgstr "Port to bind to" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :federation" +#~ msgid "Settings for federation pool." +#~ msgstr "Settings for federation pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :federation > :" +#~ "max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :federation > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :media" +#~ msgid "Settings for media pool." +#~ msgstr "Settings for media pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :media > :max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :upload" +#~ msgid "Settings for upload pool." +#~ msgstr "Settings for upload pool." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:hackney_pools > :upload > :max_connections" +#~ msgid "Number workers in the pool." +#~ msgstr "Number workers in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout" +#~ msgid "Timeout while `hackney` will wait for response." +#~ msgstr "Timeout while `hackney` will wait for response." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:http > :proxy_url" +#~ msgid "Proxy URL" +#~ msgstr "Proxy URL" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :birthday_min_age" +#~ msgid "" +#~ "Minimum required age for users to create account. Only used if birthday " +#~ "is required." +#~ msgstr "" +#~ "Minimum required age for users to create account. Only used if birthday " +#~ "is required." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :birthday_required" +#~ msgid "Require users to enter their birthday." +#~ msgstr "Require users to enter their birthday." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :max_endorsed_users" +#~ msgid "" +#~ "The maximum number of recommended accounts. 0 will disable the feature." +#~ msgstr "" +#~ "The maximum number of recommended accounts. 0 will disable the feature." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :max_media_attachments" +#~ msgid "Maximum number of post media attachments" +#~ msgstr "Maximum number of post media attachments" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default" +#~ msgid "Settings for default pool." +#~ msgstr "Settings for default pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :default > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation" +#~ msgid "Settings for federation pool." +#~ msgstr "Settings for federation pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:pools > :federation > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :federation > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media" +#~ msgid "Settings for media pool." +#~ msgstr "Settings for media pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :media > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload" +#~ msgid "Settings for upload pool." +#~ msgstr "Settings for upload pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :max_waiting" +#~ msgid "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" +#~ msgstr "" +#~ "Maximum number of requests waiting for other requests to finish. After " +#~ "this number is reached, the pool will start returning errrors when a new " +#~ "request is made" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout" +#~ msgid "Timeout for the pool while gun will wait for response" +#~ msgstr "Timeout for the pool while gun will wait for response" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:pools > :upload > :size" +#~ msgid "Maximum number of concurrent requests in the pool." +#~ msgstr "Maximum number of concurrent requests in the pool." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout > :enabled" +#~ msgid "Enables the backend Shoutbox chat feature." +#~ msgstr "Enables the backend Shoutbox chat feature." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:shout > :limit" +#~ msgid "Shout message character limit." +#~ msgstr "Shout message character limit." + +#, fuzzy +#~ msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled" +#~ msgid "Enables sending a chat message to newly registered users" +#~ msgstr "Enables sending a chat message to newly registered users" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:welcome > :chat_message > :message" +#~ msgid "" +#~ "A message that will be sent to newly registered users as a chat message" +#~ msgstr "" +#~ "A message that will be sent to newly registered users as a chat message" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :pleroma-:welcome > :chat_message > :sender_nickname" +#~ msgid "The nickname of the local user that sends a welcome chat message" +#~ msgstr "The nickname of the local user that sends a welcome chat message" + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "auth" +#~ msgid "Enables HTTP Basic Auth for app metrics endpoint." +#~ msgstr "Enables HTTP Basic Auth for app metrics endpoint." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "enabled" +#~ msgid "[Pleroma extension] Enables app metrics endpoint." +#~ msgstr "[Pleroma extension] Enables app metrics endpoint." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "format" +#~ msgid "App metrics endpoint output format." +#~ msgstr "App metrics endpoint output format." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "ip_whitelist" +#~ msgid "" +#~ "Restrict access of app metrics endpoint to the specified IP addresses." +#~ msgstr "" +#~ "Restrict access of app metrics endpoint to the specified IP addresses." + +#, fuzzy +#~ msgctxt "" +#~ "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "path" +#~ msgid "App metrics endpoint URI path." +#~ msgstr "App metrics endpoint URI path." + +#, fuzzy +#~ msgctxt "config description at :quack > :level" +#~ msgid "Log level" +#~ msgstr "Log level" + +#, fuzzy +#~ msgctxt "config description at :quack > :meta" +#~ msgid "Configure which metadata you want to report on" +#~ msgstr "Configure which metadata you want to report on" + +#, fuzzy +#~ msgctxt "config description at :quack > :webhook_url" +#~ msgid "Configure the Slack incoming webhook" +#~ msgstr "Configure the Slack incoming webhook" + +#, fuzzy +#~ msgctxt "config label at :esshd > :handler" +#~ msgid "Handler" +#~ msgstr "Handler" + +#, fuzzy +#~ msgctxt "config label at :esshd > :password_authenticator" +#~ msgid "Password authenticator" +#~ msgstr "Password authenticator" + +#, fuzzy +#~ msgctxt "config label at :esshd > :port" +#~ msgid "Port" +#~ msgstr "Port" + +#, fuzzy +#~ msgctxt "config label at :esshd > :priv_dir" +#~ msgid "Priv dir" +#~ msgstr "Priv dir" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool > :connect_timeout" +#~ msgid "Connect timeout" +#~ msgstr "Connect timeout" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:connections_pool > :" +#~ "connection_acquisition_retries" +#~ msgid "Connection acquisition retries" +#~ msgstr "Connection acquisition retries" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:connections_pool > :connection_acquisition_wait" +#~ msgid "Connection acquisition wait" +#~ msgstr "Connection acquisition wait" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier" +#~ msgid "Reclaim multiplier" +#~ msgstr "Reclaim multiplier" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:frontend_configurations > :pleroma_fe > :" +#~ "minimalScopesMode" +#~ msgid "Minimal scopes mode" +#~ msgstr "Minimal scopes mode" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :dstport" +#~ msgid "Dstport" +#~ msgstr "Dstport" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :ip" +#~ msgid "IP" +#~ msgstr "IP" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:gopher > :port" +#~ msgid "Port" +#~ msgstr "Port" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :federation" +#~ msgid "Federation" +#~ msgstr "Federation" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :federation > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :media" +#~ msgid "Media" +#~ msgstr "Media" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :media > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout" +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :upload" +#~ msgid "Upload" +#~ msgstr "Upload" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:hackney_pools > :upload > :max_connections" +#~ msgid "Max connections" +#~ msgstr "Max connections" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout" +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:http > :send_user_agent" +#~ msgid "Send user agent" +#~ msgstr "Send user agent" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :birthday_min_age" +#~ msgid "Birthday min age" +#~ msgstr "Birthday min age" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :birthday_required" +#~ msgid "Birthday required" +#~ msgstr "Birthday required" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :max_endorsed_users" +#~ msgid "Max endorsed users" +#~ msgstr "Max endorsed users" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :max_media_attachments" +#~ msgid "Max media attachments" +#~ msgstr "Max media attachments" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default" +#~ msgid "Default" +#~ msgstr "Default" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :default > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation" +#~ msgid "Federation" +#~ msgstr "Federation" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :federation > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media" +#~ msgid "Media" +#~ msgstr "Media" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :media > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload" +#~ msgid "Upload" +#~ msgstr "Upload" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :max_waiting" +#~ msgid "Max waiting" +#~ msgstr "Max waiting" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout" +#~ msgid "Recv timeout" +#~ msgstr "Recv timeout" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:pools > :upload > :size" +#~ msgid "Size" +#~ msgstr "Size" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:shout > :limit" +#~ msgid "Limit" +#~ msgstr "Limit" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message" +#~ msgid "Chat message" +#~ msgstr "Chat message" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:welcome > :chat_message > :message" +#~ msgid "Message" +#~ msgstr "Message" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :pleroma-:welcome > :chat_message > :sender_nickname" +#~ msgid "Sender nickname" +#~ msgstr "Sender nickname" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth" +#~ msgid "Auth" +#~ msgstr "Auth" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "enabled" +#~ msgid "Enabled" +#~ msgstr "Enabled" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format" +#~ msgid "Format" +#~ msgstr "Format" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :" +#~ "ip_whitelist" +#~ msgid "IP Whitelist" +#~ msgstr "IP Whitelist" + +#, fuzzy +#~ msgctxt "" +#~ "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path" +#~ msgid "Path" +#~ msgstr "Path" + +#, fuzzy +#~ msgctxt "config label at :quack > :level" +#~ msgid "Level" +#~ msgstr "Level" + +#, fuzzy +#~ msgctxt "config label at :quack > :meta" +#~ msgid "Meta" +#~ msgstr "Meta" + +#, fuzzy +#~ msgctxt "config label at :quack > :webhook_url" +#~ msgid "Webhook URL" +#~ msgstr "Webhook URL" + +#, fuzzy +#~ msgctxt "config description at :pleroma-:instance > :short_description" +#~ msgid "" +#~ "Shorter version of instance description. It can be seen on `/api/v1/" +#~ "instance`" +#~ msgstr "" +#~ "Shorter version of instance description. It can be seen on `/api/v1/" +#~ "instance`" + +#, fuzzy +#~ msgctxt "config label at :pleroma-:instance > :short_description" +#~ msgid "Short description" +#~ msgstr "Short description" diff --git a/priv/gettext/static_pages.pot b/priv/gettext/static_pages.pot index 8e1b1d9db..8fe1f3358 100644 --- a/priv/gettext/static_pages.pot +++ b/priv/gettext/static_pages.pot @@ -10,504 +10,553 @@ msgid "" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:9 +#, elixir-autogen, elixir-format msgctxt "remote follow authorization button" msgid "Authorize" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:2 +#, elixir-autogen, elixir-format msgctxt "remote follow error" msgid "Error fetching user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "remote follow header" msgid "Remote follow" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:8 +#, elixir-autogen, elixir-format msgctxt "placeholder text for auth code entry" msgid "Authentication code" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:10 +#, elixir-autogen, elixir-format msgctxt "placeholder text for password entry" msgid "Password" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:8 +#, elixir-autogen, elixir-format msgctxt "placeholder text for username entry" msgid "Username" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:13 +#, elixir-autogen, elixir-format msgctxt "remote follow authorization button for login" msgid "Authorize" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:12 +#, elixir-autogen, elixir-format msgctxt "remote follow authorization button for mfa" msgid "Authorize" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/followed.html.eex:2 +#, elixir-autogen, elixir-format msgctxt "remote follow error" msgid "Error following account" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "remote follow header, need login" msgid "Log in to follow" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "remote follow mfa header" msgid "Two-factor authentication" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/remote_follow/followed.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "remote follow success" msgid "Account followed!" msgstr "" -#, elixir-autogen, elixir-format +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:7 #: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:7 +#, elixir-autogen, elixir-format msgctxt "placeholder text for account id" msgid "Your account ID, e.g. lain@quitter.se" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:8 +#, elixir-autogen, elixir-format msgctxt "remote follow authorization button for following with a remote account" msgid "Follow" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:2 +#, elixir-autogen, elixir-format msgctxt "remote follow error" msgid "Error: %{error}" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "remote follow header" msgid "Remotely follow %{nickname}" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:12 +#, elixir-autogen, elixir-format msgctxt "password reset button" msgid "Reset" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset_failed.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "password reset failed homepage link" msgid "Homepage" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset_failed.html.eex:1 +#, elixir-autogen, elixir-format msgctxt "password reset failed message" msgid "Password reset failed" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:8 +#, elixir-autogen, elixir-format msgctxt "password reset form confirm password prompt" msgid "Confirmation" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:4 +#, elixir-autogen, elixir-format msgctxt "password reset form password prompt" msgid "Password" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/invalid_token.html.eex:1 +#, elixir-autogen, elixir-format msgctxt "password reset invalid token message" msgid "Invalid Token" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset_success.html.eex:2 +#, elixir-autogen, elixir-format msgctxt "password reset successful homepage link" msgid "Homepage" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/twitter_api/password/reset_success.html.eex:1 +#, elixir-autogen, elixir-format msgctxt "password reset successful message" msgid "Password changed!" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/feed/feed/tag.atom.eex:15 #: lib/pleroma/web/templates/feed/feed/tag.rss.eex:7 +#, elixir-autogen, elixir-format msgctxt "tag feed description" msgid "These are public toots tagged with #%{tag}. You can interact with them if you have an account anywhere in the fediverse." msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:3 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:1 msgctxt "oauth authorization exists page title" msgid "Authorization exists" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:37 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:32 msgctxt "oauth authorize approve button" msgid "Approve" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:35 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:30 msgctxt "oauth authorize cancel button" msgid "Cancel" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:26 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:23 msgctxt "oauth authorize message" msgid "Application %{client_name} is requesting access to your account." msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:3 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:1 msgctxt "oauth authorized page title" msgid "Successfully authorized" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex:1 +#, elixir-autogen, elixir-format msgctxt "oauth external provider page title" msgid "Sign in with external provider" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex:13 +#, elixir-autogen, elixir-format msgctxt "oauth external provider sign in button" msgid "Sign in with %{strategy}" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:59 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:54 msgctxt "oauth login button" msgid "Log In" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:56 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:51 msgctxt "oauth login password prompt" msgid "Password" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:52 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:47 msgctxt "oauth login username prompt" msgid "Username" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:44 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:39 msgctxt "oauth register nickname prompt" msgid "Pleroma Handle" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:42 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:37 msgctxt "oauth register nickname unchangeable warning" msgid "Choose carefully! You won't be able to change this later. You will be able to change your display name, though." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:18 +#, elixir-autogen, elixir-format msgctxt "oauth register page email prompt" msgid "Email" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:10 +#, elixir-autogen, elixir-format msgctxt "oauth register page fill form prompt" msgid "If you'd like to register a new account, please provide the details below." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:35 +#, elixir-autogen, elixir-format msgctxt "oauth register page login button" msgid "Proceed as existing user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:31 +#, elixir-autogen, elixir-format msgctxt "oauth register page login password prompt" msgid "Password" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:24 +#, elixir-autogen, elixir-format msgctxt "oauth register page login prompt" msgid "Alternatively, sign in to connect to existing account." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:27 +#, elixir-autogen, elixir-format msgctxt "oauth register page login username prompt" msgid "Name or email" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:14 +#, elixir-autogen, elixir-format msgctxt "oauth register page nickname prompt" msgid "Nickname" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:22 +#, elixir-autogen, elixir-format msgctxt "oauth register page register button" msgid "Proceed as new user" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:8 +#, elixir-autogen, elixir-format msgctxt "oauth register page title" msgid "Registration Details" msgstr "" -#, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:36 -msgctxt "oauth register page title" -msgid "This is the first time you visit! Please enter your Pleroma handle." -msgstr "" - -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/o_auth/o_auth/_scopes.html.eex:2 +#, elixir-autogen, elixir-format msgctxt "oauth scopes message" msgid "The following permissions will be granted" msgstr "" +#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:6 +#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:6 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:2 -#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:2 msgctxt "oauth token code message" msgid "Token code is
%{token}" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:14 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:12 msgctxt "mfa auth code prompt" msgid "Authentication code" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:9 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:8 msgctxt "mfa auth page title" msgid "Two-factor authentication" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:25 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:23 msgctxt "mfa auth page use recovery code link" msgid "Enter a two-factor recovery code" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:22 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:20 msgctxt "mfa auth verify code button" msgid "Verify" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:9 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:8 msgctxt "mfa recover page title" msgid "Two-factor recovery" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:14 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:12 msgctxt "mfa recover recovery code prompt" msgid "Recovery code" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:25 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:23 msgctxt "mfa recover use 2fa code link" msgid "Enter a two-factor code" msgstr "" +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:22 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:20 msgctxt "mfa recover verify recovery code button" msgid "Verify" msgstr "" +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:42 #, elixir-autogen, elixir-format -#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:8 msgctxt "static fe profile page remote follow button" msgid "Remote follow" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/email/digest.html.eex:163 +#, elixir-autogen, elixir-format msgctxt "digest email header line" msgid "Hey %{nickname}, here is what you've missed!" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/email/digest.html.eex:544 +#, elixir-autogen, elixir-format msgctxt "digest email receiver address" msgid "The email address you are subscribed as is %{email}. " msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/email/digest.html.eex:538 +#, elixir-autogen, elixir-format msgctxt "digest email sending reason" msgid "You have received this email because you have signed up to receive digest emails from %{instance} Pleroma instance." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/email/digest.html.eex:547 +#, elixir-autogen, elixir-format msgctxt "digest email unsubscribe action" msgid "To unsubscribe, please go %{here}." msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/email/digest.html.eex:547 +#, elixir-autogen, elixir-format msgctxt "digest email unsubscribe action link text" msgid "here" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/mailer/subscription/unsubscribe_failure.html.eex:1 +#, elixir-autogen, elixir-format msgctxt "mailer unsubscribe failed message" msgid "UNSUBSCRIBE FAILURE" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/web/templates/mailer/subscription/unsubscribe_success.html.eex:1 +#, elixir-autogen, elixir-format msgctxt "mailer unsubscribe successful message" msgid "UNSUBSCRIBE SUCCESSFUL" msgstr "" -#, elixir-format #: lib/pleroma/web/templates/email/digest.html.eex:385 +#, elixir-format msgctxt "new followers count header" msgid "%{count} New Follower" msgid_plural "%{count} New Followers" msgstr[0] "" msgstr[1] "" -#, elixir-autogen, elixir-format -#: lib/pleroma/emails/user_email.ex:356 -msgctxt "account archive email body - self-requested" -msgid "

You requested a full backup of your Pleroma account. It's ready for download:

\n

%{download_url}

\n" -msgstr "" - -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:384 +#, elixir-autogen, elixir-format msgctxt "account archive email subject" msgid "Your account archive is ready" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:188 +#, elixir-autogen, elixir-format msgctxt "approval pending email body" msgid "

Awaiting Approval

\n

Your account at %{instance_name} is being reviewed by staff. You will receive another email once your account is approved.

\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:202 +#, elixir-autogen, elixir-format msgctxt "approval pending email subject" msgid "Your account is awaiting approval" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:158 +#, elixir-autogen, elixir-format msgctxt "confirmation email body" msgid "

Thank you for registering on %{instance_name}

\n

Email confirmation is required to activate the account.

\n

Please click the following link to activate your account.

\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:174 +#, elixir-autogen, elixir-format msgctxt "confirmation email subject" msgid "%{instance_name} account confirmation" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:310 +#, elixir-autogen, elixir-format msgctxt "digest email subject" msgid "Your digest from %{instance_name}" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:81 +#, elixir-autogen, elixir-format msgctxt "password reset email body" msgid "

Reset your password at %{instance_name}

\n

Someone has requested password change for your account at %{instance_name}.

\n

If it was you, visit the following link to proceed: reset password.

\n

If it was someone else, nothing to worry about: your data is secure and your password has not been changed.

\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:98 +#, elixir-autogen, elixir-format msgctxt "password reset email subject" msgid "Password reset" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:215 +#, elixir-autogen, elixir-format msgctxt "successful registration email body" msgid "

Hello @%{nickname},

\n

Your account at %{instance_name} has been registered successfully.

\n

No further action is required to activate your account.

\n" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:231 +#, elixir-autogen, elixir-format msgctxt "successful registration email subject" msgid "Account registered on %{instance_name}" msgstr "" -#, elixir-autogen, elixir-format -#: lib/pleroma/emails/user_email.ex:119 -msgctxt "user invitation email body" -msgid "

You are invited to %{instance_name}

\n

%{inviter_name} invites you to join %{instance_name}, an instance of Pleroma federated social networking platform.

\n

Click the following link to register: accept invitation.

\n" -msgstr "" - -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:136 +#, elixir-autogen, elixir-format msgctxt "user invitation email subject" msgid "Invitation to %{instance_name}" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:53 +#, elixir-autogen, elixir-format msgctxt "welcome email html body" msgid "Welcome to %{instance_name}!" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:41 +#, elixir-autogen, elixir-format msgctxt "welcome email subject" msgid "Welcome to %{instance_name}!" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:65 +#, elixir-autogen, elixir-format msgctxt "welcome email text body" msgid "Welcome to %{instance_name}!" msgstr "" -#, elixir-autogen, elixir-format #: lib/pleroma/emails/user_email.ex:368 +#, elixir-autogen, elixir-format msgctxt "account archive email body - admin requested" -msgid "

Admin @%{admin_nickname} requested a full backup of your Pleroma account. It's ready for download:

\n

%{download_url}

\n" +msgid "

Admin @%{admin_nickname} requested a full backup of your Akkoma account. It's ready for download:

\n

%{download_url}

\n" +msgstr "" + +#: lib/pleroma/emails/user_email.ex:356 +#, elixir-autogen, elixir-format +msgctxt "account archive email body - self-requested" +msgid "

You requested a full backup of your Akkoma account. It's ready for download:

\n

%{download_url}

\n" +msgstr "" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:41 +#, elixir-autogen, elixir-format +msgctxt "oauth register page title" +msgid "This is your first visit! Please enter your Akkoma handle." +msgstr "" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:123 +#, elixir-autogen, elixir-format +msgctxt "remote follow error message - unknown error" +msgid "Something went wrong." +msgstr "" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:67 +#, elixir-autogen, elixir-format +msgctxt "remote follow error message - user not found" +msgid "Could not find user" +msgstr "" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "status interact authorization button" +msgid "Interact" +msgstr "" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "status interact error" +msgid "Error: %{error}" +msgstr "" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:95 +#, elixir-autogen, elixir-format +msgctxt "status interact error message - status not found" +msgid "Could not find status" +msgstr "" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:144 +#, elixir-autogen, elixir-format +msgctxt "status interact error message - unknown error" +msgid "Something went wrong." +msgstr "" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "status interact header" +msgid "Interacting with %{nickname}'s %{status_link}" +msgstr "" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "status interact header - status link text" +msgid "status" +msgstr "" + +#: lib/pleroma/emails/user_email.ex:119 +#, elixir-autogen, elixir-format +msgctxt "user invitation email body" +msgid "

You are invited to %{instance_name}

\n

%{inviter_name} invites you to join %{instance_name}, an instance of Akkoma federated social networking platform.

\n

Click the following link to register: accept invitation.

\n" msgstr "" diff --git a/priv/gettext/th/LC_MESSAGES/config_descriptions.po b/priv/gettext/th/LC_MESSAGES/config_descriptions.po new file mode 100644 index 000000000..0a8dd5843 --- /dev/null +++ b/priv/gettext/th/LC_MESSAGES/config_descriptions.po @@ -0,0 +1,6359 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-07-07 18:47+0000\n" +"PO-Revision-Date: 2023-07-07 18:48+0000\n" +"Last-Translator: Anonymous \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.14\n" + +## This file is a PO Template file. +## +## "msgid"s here are often extracted from source code. +## Add new translations manually only if they're dynamic +## translations that can't be statically extracted. +## +## Run "mix gettext.extract" to bring this file up to +## date. Leave "msgstr"s empty as changing them here has no +## effect: edit them in PO (.po) files instead. +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger" +msgid "Logger-related settings" +msgstr "Logger-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :mime" +msgid "Mime Types settings" +msgstr "Mime Types settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma" +msgid "Allows setting a token that can be used to authenticate requests with admin privileges without a normal user account token. Append the `admin_token` parameter to requests to utilize it. (Please reconsider using HTTP Basic Auth or OAuth-based authentication if possible)" +msgstr "" +"Allows setting a token that can be used to authenticate requests with admin " +"privileges without a normal user account token. Append the `admin_token` " +"parameter to requests to utilize it. (Please reconsider using HTTP Basic " +"Auth or OAuth-based authentication if possible)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma" +msgid "Authenticator" +msgstr "Authenticator" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :cors_plug" +msgid "CORS plug config" +msgstr "CORS plug config" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger" +msgid "Logger" +msgstr "Logger" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime" +msgid "Mime Types" +msgstr "Mime Types" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma" +msgid "Pleroma Admin Token" +msgstr "Pleroma Admin Token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma" +msgid "Pleroma Authenticator" +msgstr "Pleroma Authenticator" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:console" +msgid "Console logger settings" +msgstr "Console logger settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:ex_syslogger" +msgid "ExSyslogger-related settings" +msgstr "ExSyslogger-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub" +msgid "ActivityPub-related settings" +msgstr "ActivityPub-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:assets" +msgid "This section configures assets to be used with various frontends. Currently the only option relates to mascots on the mastodon frontend" +msgstr "" +"This section configures assets to be used with various frontends. Currently " +"the only option relates to mascots on the mastodon frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:auth" +msgid "Authentication / authorization settings" +msgstr "Authentication / authorization settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:email_notifications" +msgid "Email notifications settings" +msgstr "Email notifications settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:features" +msgid "Customizable features" +msgstr "Customizable features" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:feed" +msgid "Configure feed rendering" +msgstr "Configure feed rendering" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends" +msgid "Installed frontends management" +msgstr "Installed frontends management" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http" +msgid "HTTP settings" +msgstr "HTTP settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http_security" +msgid "HTTP security settings" +msgstr "HTTP security settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance" +msgid "Instance-related settings" +msgstr "Instance-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instances_favicons" +msgid "Control favicons for instances" +msgstr "Control favicons for instances" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap" +msgid "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password will be verified by trying to authenticate (bind) to a LDAP server. If a user exists in the LDAP directory but there is no account with the same name yet on the Pleroma instance then a new Pleroma account will be created with the same name as the LDAP user name." +msgstr "" +"Use LDAP for user authentication. When a user logs in to the Pleroma " +"instance, the name and password will be verified by trying to authenticate " +"(bind) to a LDAP server. If a user exists in the LDAP directory but there is " +"no account with the same name yet on the Pleroma instance then a new Pleroma " +"account will be created with the same name as the LDAP user name." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:majic_pool" +msgid "Majic/libmagic configuration" +msgstr "Majic/libmagic configuration" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:manifest" +msgid "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE." +msgstr "" +"This section describe PWA manifest instance-specific values. Currently this " +"option relate only for MastoFE." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_preview_proxy" +msgid "Media preview proxy" +msgstr "Media preview proxy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy" +msgid "Media proxy" +msgstr "Media proxy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:modules" +msgid "Custom Runtime Modules" +msgstr "Custom Runtime Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf" +msgid "General MRF settings" +msgstr "General MRF settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_activity_expiration" +msgid "Adds automatic expiration to all local activities" +msgstr "Adds automatic expiration to all local activities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_follow_bot" +msgid "Automatically follows newly discovered accounts." +msgstr "Automatically follows newly discovered accounts." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hashtag" +msgid "Reject, TWKN-remove or Set-Sensitive messsages with specific hashtags (without the leading #)\n\nNote: This MRF Policy is always enabled, if you want to disable it you have to set empty lists.\n" +msgstr "" +"Reject, TWKN-remove or Set-Sensitive messsages with specific hashtags (" +"without the leading #)\n" +"\n" +"Note: This MRF Policy is always enabled, if you want to disable it you have " +"to set empty lists.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hellthread" +msgid "Block messages with excessive user mentions" +msgstr "Block messages with excessive user mentions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_keyword" +msgid "Reject or Word-Replace messages matching a keyword or [Regex](https://hexdocs.pm/elixir/Regex.html)." +msgstr "" +"Reject or Word-Replace messages matching a keyword or [Regex](https://hexdocs" +".pm/elixir/Regex.html)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_mention" +msgid "Block messages which mention a specific user" +msgstr "Block messages which mention a specific user" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_normalize_markup" +msgid "MRF NormalizeMarkup settings. Scrub configured hypertext markup." +msgstr "MRF NormalizeMarkup settings. Scrub configured hypertext markup." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_object_age" +msgid "Rejects or delists posts based on their timestamp deviance from your server's clock." +msgstr "" +"Rejects or delists posts based on their timestamp deviance from your " +"server's clock." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_rejectnonpublic" +msgid "RejectNonPublic drops posts with non-public visibility settings." +msgstr "RejectNonPublic drops posts with non-public visibility settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple" +msgid "Simple ingress policies" +msgstr "Simple ingress policies" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_steal_emoji" +msgid "Steals emojis from selected instances when it sees them." +msgstr "Steals emojis from selected instances when it sees them." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_subchain" +msgid "This policy processes messages through an alternate pipeline when a given message matches certain criteria. All criteria are configured as a map of regular expressions to lists of policy modules." +msgstr "" +"This policy processes messages through an alternate pipeline when a given " +"message matches certain criteria. All criteria are configured as a map of " +"regular expressions to lists of policy modules." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_vocabulary" +msgid "Filter messages which belong to certain activity vocabularies" +msgstr "Filter messages which belong to certain activity vocabularies" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:oauth2" +msgid "Configure OAuth 2 provider capabilities" +msgstr "Configure OAuth 2 provider capabilities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:populate_hashtags_table" +msgid "`populate_hashtags_table` background migration settings" +msgstr "`populate_hashtags_table` background migration settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit" +msgid "Rate limit settings. This is an advanced feature enabled only for :authentication by default." +msgstr "" +"Rate limit settings. This is an advanced feature enabled only for :" +"authentication by default." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media" +msgid "If enabled the instance will parse metadata from attached links to generate link previews" +msgstr "" +"If enabled the instance will parse metadata from attached links to generate " +"link previews" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:static_fe" +msgid "Render profiles and posts using server-generated HTML that is viewable without using JavaScript" +msgstr "" +"Render profiles and posts using server-generated HTML that is viewable " +"without using JavaScript" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:streamer" +msgid "Settings for notifications streamer" +msgstr "Settings for notifications streamer" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:uri_schemes" +msgid "URI schemes related settings" +msgstr "URI schemes related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:web_cache_ttl" +msgid "The expiration time for the web responses cache. Values should be in milliseconds or `nil` to disable expiration." +msgstr "" +"The expiration time for the web responses cache. Values should be in " +"milliseconds or `nil` to disable expiration." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome" +msgid "Welcome messages settings" +msgstr "Welcome messages settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:workers" +msgid "Includes custom worker options not interpretable directly by `Oban`" +msgstr "Includes custom worker options not interpretable directly by `Oban`" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter" +msgid "Limits configuration for background tasks." +msgstr "Limits configuration for background tasks." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban" +msgid "[Oban](https://github.com/sorentwo/oban) asynchronous job processor configuration." +msgstr "" +"[Oban](https://github.com/sorentwo/oban) asynchronous job processor " +"configuration." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Captcha" +msgid "Captcha-related settings" +msgstr "Captcha-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Captcha.Kocaptcha" +msgid "Kocaptcha is a very simple captcha service with a single API endpoint, the source code is here: https://github.com/koto-bank/kocaptcha. The default endpoint (https://captcha.kotobank.ch) is hosted by the developer." +msgstr "" +"Kocaptcha is a very simple captcha service with a single API endpoint, the " +"source code is here: https://github.com/koto-bank/kocaptcha. The default " +"endpoint (https://captcha.kotobank.ch) is hosted by the developer." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer" +msgid "Mailer-related settings" +msgstr "Mailer-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.NewUsersDigestEmail" +msgid "New users admin email digest" +msgstr "New users admin email digest" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail" +msgid "Email template settings" +msgstr "Email template settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter" +msgid "Configuration for Pleroma's link formatter which parses mentions, hashtags, and URLs." +msgstr "" +"Configuration for Pleroma's link formatter which parses mentions, hashtags, " +"and URLs." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.ScheduledActivity" +msgid "Scheduled activities settings" +msgstr "Scheduled activities settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload" +msgid "Upload general settings" +msgstr "Upload general settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename" +msgid "Filter replaces the filename of the upload" +msgstr "Filter replaces the filename of the upload" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload.Filter.Mogrify" +msgid "Uploads mogrify filter settings" +msgstr "Uploads mogrify filter settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.Local" +msgid "Local uploader-related settings" +msgstr "Local uploader-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.S3" +msgid "S3 uploader-related settings" +msgstr "S3 uploader-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.User.Backup" +msgid "Account Backup" +msgstr "Account Backup" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http" +msgid "HTTP invalidate settings" +msgstr "HTTP invalidate settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script" +msgid "Invalidation script settings" +msgstr "Invalidation script settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata" +msgid "Metadata-related settings" +msgstr "Metadata-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp" +msgid "`Pleroma.Web.Plugs.RemoteIp` is a shim to call [`RemoteIp`](https://git.pleroma.social/pleroma/remote_ip) but with runtime configuration.\n**If your instance is not behind at least one reverse proxy, you should not enable this plug.**\n" +msgstr "" +"`Pleroma.Web.Plugs.RemoteIp` is a shim to call [`RemoteIp`](https://git." +"pleroma.social/pleroma/remote_ip) but with runtime configuration.\n" +"**If your instance is not behind at least one reverse proxy, you should not " +"enable this plug.**\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Preload" +msgid "Preload-related settings" +msgstr "Preload-related settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity" +msgid "Expired activities settings" +msgstr "Expired activities settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :web_push_encryption-:vapid_details" +msgid "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it." +msgstr "" +"Web Push Notifications configuration. You can use the mix task mix " +"web_push.gen.keypair to generate it." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :ex_aws-:s3" +msgid "S3" +msgstr "S3" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:console" +msgid "Console Logger" +msgstr "Console Logger" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:ex_syslogger" +msgid "ExSyslogger" +msgstr "ExSyslogger" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub" +msgid "ActivityPub" +msgstr "ActivityPub" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:assets" +msgid "Assets" +msgstr "Assets" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:auth" +msgid "Auth" +msgstr "Auth" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:email_notifications" +msgid "Email notifications" +msgstr "Email notifications" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:emoji" +msgid "Emoji" +msgstr "Emoji" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:features" +msgid "Features" +msgstr "Features" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:feed" +msgid "Feed" +msgstr "Feed" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations" +msgid "Frontend configurations" +msgstr "Frontend configurations" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends" +msgid "Frontends" +msgstr "Frontends" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http" +msgid "HTTP" +msgstr "HTTP" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http_security" +msgid "HTTP security" +msgstr "HTTP security" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance" +msgid "Instance" +msgstr "Instance" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instances_favicons" +msgid "Instances favicons" +msgstr "Instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap" +msgid "LDAP" +msgstr "LDAP" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:majic_pool" +msgid "Majic pool" +msgstr "Majic pool" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:manifest" +msgid "Manifest" +msgstr "Manifest" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:markup" +msgid "Markup Settings" +msgstr "Markup Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_preview_proxy" +msgid "Media preview proxy" +msgstr "Media preview proxy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy" +msgid "Media proxy" +msgstr "Media proxy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:modules" +msgid "Modules" +msgstr "Modules" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf" +msgid "MRF" +msgstr "MRF" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_activity_expiration" +msgid "MRF Activity Expiration Policy" +msgstr "MRF Activity Expiration Policy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_follow_bot" +msgid "MRF FollowBot Policy" +msgstr "MRF FollowBot Policy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hashtag" +msgid "MRF Hashtag" +msgstr "MRF Hashtag" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hellthread" +msgid "MRF Hellthread" +msgstr "MRF Hellthread" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_keyword" +msgid "MRF Keyword" +msgstr "MRF Keyword" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_mention" +msgid "MRF Mention" +msgstr "MRF Mention" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_normalize_markup" +msgid "MRF Normalize Markup" +msgstr "MRF Normalize Markup" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_object_age" +msgid "MRF Object Age" +msgstr "MRF Object Age" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_rejectnonpublic" +msgid "MRF Reject Non Public" +msgstr "MRF Reject Non Public" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple" +msgid "MRF Simple" +msgstr "MRF Simple" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_steal_emoji" +msgid "MRF Emojis" +msgstr "MRF Emojis" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_subchain" +msgid "MRF Subchain" +msgstr "MRF Subchain" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_vocabulary" +msgid "MRF Vocabulary" +msgstr "MRF Vocabulary" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:oauth2" +msgid "OAuth2" +msgstr "OAuth2" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:populate_hashtags_table" +msgid "Populate hashtags table" +msgstr "Populate hashtags table" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit" +msgid "Rate limit" +msgstr "Rate limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated" +msgid "Restrict Unauthenticated" +msgstr "Restrict Unauthenticated" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media" +msgid "Rich media" +msgstr "Rich media" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:static_fe" +msgid "Static FE" +msgstr "Static FE" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:streamer" +msgid "Streamer" +msgstr "Streamer" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:uri_schemes" +msgid "URI Schemes" +msgstr "URI Schemes" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:user" +msgid "User" +msgstr "User" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:web_cache_ttl" +msgid "Web cache TTL" +msgstr "Web cache TTL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome" +msgid "Welcome" +msgstr "Welcome" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:workers" +msgid "Workers" +msgstr "Workers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter" +msgid "ConcurrentLimiter" +msgstr "ConcurrentLimiter" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban" +msgid "Oban" +msgstr "Oban" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Captcha" +msgid "Pleroma.Captcha" +msgstr "Pleroma.Captcha" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Captcha.Kocaptcha" +msgid "Pleroma.Captcha.Kocaptcha" +msgstr "Pleroma.Captcha.Kocaptcha" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer" +msgid "Pleroma.Emails.Mailer" +msgstr "Pleroma.Emails.Mailer" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.NewUsersDigestEmail" +msgid "Pleroma.Emails.NewUsersDigestEmail" +msgstr "Pleroma.Emails.NewUsersDigestEmail" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail" +msgid "Pleroma.Emails.UserEmail" +msgstr "Pleroma.Emails.UserEmail" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter" +msgid "Linkify" +msgstr "Linkify" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.ScheduledActivity" +msgid "Pleroma.ScheduledActivity" +msgstr "Pleroma.ScheduledActivity" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload" +msgid "Pleroma.Upload" +msgstr "Pleroma.Upload" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename" +msgid "Pleroma.Upload.Filter.AnonymizeFilename" +msgstr "Pleroma.Upload.Filter.AnonymizeFilename" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload.Filter.Mogrify" +msgid "Pleroma.Upload.Filter.Mogrify" +msgstr "Pleroma.Upload.Filter.Mogrify" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.Local" +msgid "Pleroma.Uploaders.Local" +msgstr "Pleroma.Uploaders.Local" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.S3" +msgid "Pleroma.Uploaders.S3" +msgstr "Pleroma.Uploaders.S3" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.User" +msgid "Pleroma.User" +msgstr "Pleroma.User" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.User.Backup" +msgid "Pleroma.User.Backup" +msgstr "Pleroma.User.Backup" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate" +msgid "Pleroma.Web.ApiSpec.CastAndValidate" +msgstr "Pleroma.Web.ApiSpec.CastAndValidate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http" +msgid "Pleroma.Web.MediaProxy.Invalidation.Http" +msgstr "Pleroma.Web.MediaProxy.Invalidation.Http" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script" +msgid "Pleroma.Web.MediaProxy.Invalidation.Script" +msgstr "Pleroma.Web.MediaProxy.Invalidation.Script" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata" +msgid "Pleroma.Web.Metadata" +msgstr "Pleroma.Web.Metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp" +msgid "Pleroma.Web.Plugs.RemoteIp" +msgstr "Pleroma.Web.Plugs.RemoteIp" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Preload" +msgid "Pleroma.Web.Preload" +msgstr "Pleroma.Web.Preload" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity" +msgid "Pleroma.Workers.PurgeExpiredActivity" +msgstr "Pleroma.Workers.PurgeExpiredActivity" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :web_push_encryption-:vapid_details" +msgid "Vapid Details" +msgstr "Vapid Details" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :ex_aws-:s3 > :access_key_id" +msgid "S3 access key ID" +msgstr "S3 access key ID" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :ex_aws-:s3 > :host" +msgid "S3 host" +msgstr "S3 host" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :ex_aws-:s3 > :region" +msgid "S3 region (for AWS)" +msgstr "S3 region (for AWS)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :ex_aws-:s3 > :secret_access_key" +msgid "Secret access key" +msgstr "Secret access key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger > :backends" +msgid "Where logs will be sent, :console - send logs to stdout, { ExSyslogger, :ex_syslogger } - to syslog, Quack.Logger - to Slack." +msgstr "" +"Where logs will be sent, :console - send logs to stdout, { ExSyslogger, :" +"ex_syslogger } - to syslog, Quack.Logger - to Slack." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:console > :format" +msgid "Default: \"$date $time [$level] $levelpad$node $metadata $message\"" +msgstr "Default: \"$date $time [$level] $levelpad$node $metadata $message\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:console > :level" +msgid "Log level" +msgstr "Log level" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:ex_syslogger > :format" +msgid "Default: \"$date $time [$level] $levelpad$node $metadata $message\"" +msgstr "Default: \"$date $time [$level] $levelpad$node $metadata $message\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:ex_syslogger > :ident" +msgid "A string that's prepended to every message, and is typically set to the app name" +msgstr "" +"A string that's prepended to every message, and is typically set to the app " +"name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :logger-:ex_syslogger > :level" +msgid "Log level" +msgstr "Log level" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma > :admin_token" +msgid "Admin token" +msgstr "Admin token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :blockers_visible" +msgid "Whether a user can see someone who has blocked them" +msgstr "Whether a user can see someone who has blocked them" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :follow_handshake_timeout" +msgid "Following handshake timeout" +msgstr "Following handshake timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :note_replies_output_limit" +msgid "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)" +msgstr "" +"The number of Note replies' URIs to be included with outgoing federation (`5`" +" to match Mastodon hardcoded value, `0` to disable the output)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :outgoing_blocks" +msgid "Whether to federate blocks to other instances" +msgstr "Whether to federate blocks to other instances" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :sign_object_fetches" +msgid "Sign object fetches with HTTP signatures" +msgstr "Sign object fetches with HTTP signatures" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :unfollow_blocked" +msgid "Whether blocks result in people getting unfollowed" +msgstr "Whether blocks result in people getting unfollowed" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:assets > :default_mascot" +msgid "This will be used as the default mascot on MastoFE. Default: `:pleroma_fox_tan`" +msgstr "" +"This will be used as the default mascot on MastoFE. Default: " +"`:pleroma_fox_tan`" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:assets > :default_user_avatar" +msgid "URL of the default user avatar" +msgstr "URL of the default user avatar" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:assets > :mascots" +msgid "Keyword of mascots, each element must contain both an URL and a mime_type key" +msgstr "" +"Keyword of mascots, each element must contain both an URL and a mime_type key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:auth > :auth_template" +msgid "Authentication form template. By default it's `show.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/show.html.ee`." +msgstr "" +"Authentication form template. By default it's `show.html` which corresponds " +"to `lib/pleroma/web/templates/o_auth/o_auth/show.html.ee`." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:auth > :enforce_oauth_admin_scope_usage" +msgid "OAuth admin scope requirement toggle. If enabled, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token (client app must support admin scopes). If disabled and token doesn't have admin scope(s), `is_admin` user flag grants access to admin-specific actions." +msgstr "" +"OAuth admin scope requirement toggle. If enabled, admin actions explicitly " +"demand admin OAuth scope(s) presence in OAuth token (client app must support " +"admin scopes). If disabled and token doesn't have admin scope(s), `is_admin` " +"user flag grants access to admin-specific actions." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:auth > :oauth_consumer_strategies" +msgid "The list of enabled OAuth consumer strategies. By default it's set by OAUTH_CONSUMER_STRATEGIES environment variable. Each entry in this space-delimited string should be of format \"strategy\" or \"strategy:dependency\" (e.g. twitter or keycloak:ueberauth_keycloak_strategy in case dependency is named differently than ueberauth_)." +msgstr "" +"The list of enabled OAuth consumer strategies. By default it's set by " +"OAUTH_CONSUMER_STRATEGIES environment variable. Each entry in this space-" +"delimited string should be of format \"strategy\" or \"strategy:dependency\" " +"(e.g. twitter or keycloak:ueberauth_keycloak_strategy in case dependency is " +"named differently than ueberauth_)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:auth > :oauth_consumer_template" +msgid "OAuth consumer mode authentication form template. By default it's `consumer.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex`." +msgstr "" +"OAuth consumer mode authentication form template. By default it's `consumer." +"html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer." +"html.eex`." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:email_notifications > :digest" +msgid "emails of \"what you've missed\" for users who have been inactive for a while" +msgstr "" +"emails of \"what you've missed\" for users who have been inactive for a while" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:email_notifications > :digest > :active" +msgid "Globally enable or disable digest emails" +msgstr "Globally enable or disable digest emails" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:email_notifications > :digest > :inactivity_threshold" +msgid "Minimum user inactivity threshold" +msgstr "Minimum user inactivity threshold" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:email_notifications > :digest > :interval" +msgid "Minimum interval between digest emails to one user" +msgstr "Minimum interval between digest emails to one user" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:email_notifications > :digest > :schedule" +msgid "When to send digest email, in crontab format. \"0 0 0\" is the default, meaning \"once a week at midnight on Sunday morning\"." +msgstr "" +"When to send digest email, in crontab format. \"0 0 0\" is the default, " +"meaning \"once a week at midnight on Sunday morning\"." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:emoji > :default_manifest" +msgid "Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays)." +msgstr "" +"Location of the JSON-manifest. This manifest contains information about the " +"emoji-packs you can download. Currently only one manifest can be added (no " +"arrays)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:emoji > :groups" +msgid "Emojis are ordered in groups (tags). This is an array of key-value pairs where the key is the group name and the value is the location or array of locations. * can be used as a wildcard." +msgstr "" +"Emojis are ordered in groups (tags). This is an array of key-value pairs " +"where the key is the group name and the value is the location or array of " +"locations. * can be used as a wildcard." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:emoji > :pack_extensions" +msgid "A list of file extensions for emojis, when no emoji.txt for a pack is present" +msgstr "" +"A list of file extensions for emojis, when no emoji.txt for a pack is present" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:emoji > :shortcode_globs" +msgid "Location of custom emoji files. * can be used as a wildcard." +msgstr "Location of custom emoji files. * can be used as a wildcard." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:features > :improved_hashtag_timeline" +msgid "Setting to force toggle / force disable improved hashtags timeline. `:enabled` forces hashtags to be fetched from `hashtags` table for hashtags timeline. `:disabled` forces object-embedded hashtags to be used (slower). Keep it `:auto` for automatic behaviour (it is auto-set to `:enabled` [unless overridden] when HashtagsTableMigrator completes)." +msgstr "" +"Setting to force toggle / force disable improved hashtags timeline. " +"`:enabled` forces hashtags to be fetched from `hashtags` table for hashtags " +"timeline. `:disabled` forces object-embedded hashtags to be used (slower). " +"Keep it `:auto` for automatic behaviour (it is auto-set to `:enabled` [" +"unless overridden] when HashtagsTableMigrator completes)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:feed > :post_title" +msgid "Configure title rendering" +msgstr "Configure title rendering" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:feed > :post_title > :max_length" +msgid "Maximum number of characters before truncating title" +msgstr "Maximum number of characters before truncating title" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:feed > :post_title > :omission" +msgid "Replacement which will be used after truncating string" +msgstr "Replacement which will be used after truncating string" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe" +msgid "Settings for Pleroma FE" +msgstr "Settings for Pleroma FE" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :alwaysShowSubjectInput" +msgid "When disabled, auto-hide the subject field if it's empty" +msgstr "When disabled, auto-hide the subject field if it's empty" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :background" +msgid "URL of the background, unless viewing a user profile with a background that is set" +msgstr "" +"URL of the background, unless viewing a user profile with a background that " +"is set" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :collapseMessageWithSubject" +msgid "When a message has a subject (aka Content Warning), collapse it by default" +msgstr "" +"When a message has a subject (aka Content Warning), collapse it by default" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :greentext" +msgid "Enables green text on lines prefixed with the > character" +msgstr "Enables green text on lines prefixed with the > character" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideFilteredStatuses" +msgid "Hides filtered statuses from timelines" +msgstr "Hides filtered statuses from timelines" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideMutedPosts" +msgid "Hides muted statuses from timelines" +msgstr "Hides muted statuses from timelines" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hidePostStats" +msgid "Hide notices statistics (repeats, favorites, ...)" +msgstr "Hide notices statistics (repeats, favorites, ...)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideUserStats" +msgid "Hide profile statistics (posts, posts per day, followers, followings, ...)" +msgstr "" +"Hide profile statistics (posts, posts per day, followers, followings, ...)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logo" +msgid "URL of the logo, defaults to Pleroma's logo" +msgstr "URL of the logo, defaults to Pleroma's logo" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logoMargin" +msgid "Allows you to adjust vertical margins between logo boundary and navbar borders. The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout." +msgstr "" +"Allows you to adjust vertical margins between logo boundary and navbar " +"borders. The idea is that to have logo's image without any extra margins and " +"instead adjust them to your need in layout." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logoMask" +msgid "By default it assumes logo used will be monochrome with alpha channel to be compatible with both light and dark themes. If you want a colorful logo you must disable logoMask." +msgstr "" +"By default it assumes logo used will be monochrome with alpha channel to be " +"compatible with both light and dark themes. If you want a colorful logo you " +"must disable logoMask." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :nsfwCensorImage" +msgid "URL of the image to use for hiding NSFW media attachments in the timeline" +msgstr "" +"URL of the image to use for hiding NSFW media attachments in the timeline" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :postContentType" +msgid "Default post formatting option" +msgstr "Default post formatting option" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootLogin" +msgid "Relative URL which indicates where to redirect when a user is logged in" +msgstr "Relative URL which indicates where to redirect when a user is logged in" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootNoLogin" +msgid "Relative URL which indicates where to redirect when a user isn't logged in" +msgstr "" +"Relative URL which indicates where to redirect when a user isn't logged in" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :scopeCopy" +msgid "Copy the scope (private/unlisted/public) in replies to posts by default" +msgstr "Copy the scope (private/unlisted/public) in replies to posts by default" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showFeaturesPanel" +msgid "Enables panel displaying functionality of the instance on the About page" +msgstr "" +"Enables panel displaying functionality of the instance on the About page" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showInstanceSpecificPanel" +msgid "Whether to show the instance's custom panel" +msgstr "Whether to show the instance's custom panel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :sidebarRight" +msgid "Change alignment of sidebar and panels to the right" +msgstr "Change alignment of sidebar and panels to the right" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :subjectLineBehavior" +msgid "Allows changing the default behaviour of subject lines in replies.\n `email`: copy and preprend re:, as in email,\n `masto`: copy verbatim, as in Mastodon,\n `noop`: don't copy the subject." +msgstr "" +"Allows changing the default behaviour of subject lines in replies.\n" +" `email`: copy and preprend re:, as in email,\n" +" `masto`: copy verbatim, as in Mastodon,\n" +" `noop`: don't copy the subject." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :theme" +msgid "Which theme to use. Available themes are defined in styles.json" +msgstr "Which theme to use. Available themes are defined in styles.json" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :admin" +msgid "Admin frontend" +msgstr "Admin frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :admin > name" +msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :admin > ref" +msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available" +msgid "A map containing available frontends and parameters for their installation." +msgstr "" +"A map containing available frontends and parameters for their installation." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available > build_dir" +msgid "The directory inside the zip file " +msgstr "The directory inside the zip file " + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available > build_url" +msgid "Either an url to a zip file containing the frontend or a template to build it by inserting the `ref`. The string `${ref}` will be replaced by the configured `ref`." +msgstr "" +"Either an url to a zip file containing the frontend or a template to build " +"it by inserting the `ref`. The string `${ref}` will be replaced by the " +"configured `ref`." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available > custom-http-headers" +msgid "The custom HTTP headers for the frontend" +msgstr "The custom HTTP headers for the frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available > git" +msgid "URL of the git repository of the frontend" +msgstr "URL of the git repository of the frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available > name" +msgid "Name of the frontend." +msgstr "Name of the frontend." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :available > ref" +msgid "Reference of the frontend to be used." +msgstr "Reference of the frontend to be used." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :primary" +msgid "Primary frontend, the one that is served for all pages by default" +msgstr "Primary frontend, the one that is served for all pages by default" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :primary > name" +msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :primary > ref" +msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :adapter" +msgid "Adapter specific options" +msgstr "Adapter specific options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :adapter > :ssl_options" +msgid "SSL options for HTTP adapter" +msgstr "SSL options for HTTP adapter" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :adapter > :ssl_options > :versions" +msgid "List of TLS version to use" +msgstr "List of TLS version to use" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :user_agent" +msgid "What user agent to use. Must be a string or an atom `:default`. Default value is `:default`." +msgstr "" +"What user agent to use. Must be a string or an atom `:default`. Default " +"value is `:default`." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http_security > :enabled" +msgid "Whether the managed content security policy is enabled" +msgstr "Whether the managed content security policy is enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http_security > :referrer_policy" +msgid "The referrer policy to use, either \"same-origin\" or \"no-referrer\"" +msgstr "The referrer policy to use, either \"same-origin\" or \"no-referrer\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http_security > :report_uri" +msgid "Adds the specified URL to report-uri and report-to group in CSP header" +msgstr "Adds the specified URL to report-uri and report-to group in CSP header" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http_security > :sts" +msgid "Whether to additionally send a Strict-Transport-Security header" +msgstr "Whether to additionally send a Strict-Transport-Security header" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http_security > :sts_max_age" +msgid "The maximum age for the Strict-Transport-Security header if sent" +msgstr "The maximum age for the Strict-Transport-Security header if sent" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :account_activation_required" +msgid "Require users to confirm their emails before signing in" +msgstr "Require users to confirm their emails before signing in" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :account_approval_required" +msgid "Require users to be manually approved by an admin before signing in" +msgstr "Require users to be manually approved by an admin before signing in" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :account_field_name_length" +msgid "An account field name maximum length. Default: 512." +msgstr "An account field name maximum length. Default: 512." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :account_field_value_length" +msgid "An account field value maximum length. Default: 2048." +msgstr "An account field value maximum length. Default: 2048." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :allow_relay" +msgid "Permits remote instances to subscribe to all public posts of your instance. (Important!) This may increase the visibility of your instance." +msgstr "" +"Permits remote instances to subscribe to all public posts of your instance. " +"(Important!) This may increase the visibility of your instance." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :allowed_post_formats" +msgid "MIME-type list of formats allowed to be posted (transformed into HTML)" +msgstr "MIME-type list of formats allowed to be posted (transformed into HTML)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :attachment_links" +msgid "Enable to automatically add attachment link text to statuses" +msgstr "Enable to automatically add attachment link text to statuses" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :autofollowed_nicknames" +msgid "Set to nicknames of (local) users that every new user should automatically follow" +msgstr "" +"Set to nicknames of (local) users that every new user should automatically " +"follow" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :autofollowing_nicknames" +msgid "Set to nicknames of (local) users that automatically follows every newly registered user" +msgstr "" +"Set to nicknames of (local) users that automatically follows every newly " +"registered user" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :avatar_upload_limit" +msgid "File size limit of user's profile avatars" +msgstr "File size limit of user's profile avatars" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :background_upload_limit" +msgid "File size limit of user's profile backgrounds" +msgstr "File size limit of user's profile backgrounds" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :banner_upload_limit" +msgid "File size limit of user's profile banners" +msgstr "File size limit of user's profile banners" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :cleanup_attachments" +msgid "Enable to remove associated attachments when status is removed.\nThis will not affect duplicates and attachments without status.\nEnabling this will increase load to database when deleting statuses on larger instances.\n" +msgstr "" +"Enable to remove associated attachments when status is removed.\n" +"This will not affect duplicates and attachments without status.\n" +"Enabling this will increase load to database when deleting statuses on " +"larger instances.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :description" +msgid "The instance's description. It can be seen in nodeinfo and `/api/v1/instance`" +msgstr "" +"The instance's description. It can be seen in nodeinfo and `/api/v1/instance`" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :email" +msgid "Email used to reach an Administrator/Moderator of the instance" +msgstr "Email used to reach an Administrator/Moderator of the instance" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :extended_nickname_format" +msgid "Enable to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames." +msgstr "" +"Enable to use extended local nicknames format (allows underscores/dashes). " +"This will break federation with older software for theses nicknames." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :external_user_synchronization" +msgid "Enabling following/followers counters synchronization for external users" +msgstr "" +"Enabling following/followers counters synchronization for external users" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :federating" +msgid "Enable federation with other instances" +msgstr "Enable federation with other instances" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :federation_incoming_replies_max_depth" +msgid "Max. depth of reply-to and reply activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. If set to `nil`, threads of any depth will be fetched. Lower this value if you experience out-of-memory crashes." +msgstr "" +"Max. depth of reply-to and reply activities fetching on incoming federation, " +"to prevent out-of-memory situations while fetching very long threads. If set " +"to `nil`, threads of any depth will be fetched. Lower this value if you " +"experience out-of-memory crashes." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :federation_reachability_timeout_days" +msgid "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it" +msgstr "" +"Timeout (in days) of each external federation target being unreachable prior " +"to pausing federating to it" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :instance_thumbnail" +msgid "The instance thumbnail can be any image that represents your instance and is used by some apps or services when they display information about your instance." +msgstr "" +"The instance thumbnail can be any image that represents your instance and is " +"used by some apps or services when they display information about your " +"instance." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :invites_enabled" +msgid "Enable user invitations for admins (depends on `registrations_open` being disabled)" +msgstr "" +"Enable user invitations for admins (depends on `registrations_open` being " +"disabled)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :limit" +msgid "Posts character limit (CW/Subject included in the counter)" +msgstr "Posts character limit (CW/Subject included in the counter)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :limit_to_local_content" +msgid "Limit unauthenticated users to search for local statutes and users only. Default: `:unauthenticated`." +msgstr "" +"Limit unauthenticated users to search for local statutes and users only. " +"Default: `:unauthenticated`." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :max_account_fields" +msgid "The maximum number of custom fields in the user profile. Default: 10." +msgstr "The maximum number of custom fields in the user profile. Default: 10." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :max_pinned_statuses" +msgid "The maximum number of pinned statuses. 0 will disable the feature." +msgstr "The maximum number of pinned statuses. 0 will disable the feature." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :max_remote_account_fields" +msgid "The maximum number of custom fields in the remote user profile. Default: 20." +msgstr "" +"The maximum number of custom fields in the remote user profile. Default: 20." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :max_report_comment_size" +msgid "The maximum size of the report comment. Default: 1000." +msgstr "The maximum size of the report comment. Default: 1000." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication" +msgid "Multi-factor authentication settings" +msgstr "Multi-factor authentication settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes" +msgid "MFA backup codes settings" +msgstr "MFA backup codes settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :length" +msgid "Determines the length of backup one-time pass-codes, in characters. Defaults to 16 characters." +msgstr "" +"Determines the length of backup one-time pass-codes, in characters. Defaults " +"to 16 characters." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :number" +msgid "Number of backup codes to generate." +msgstr "Number of backup codes to generate." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp" +msgid "TOTP settings" +msgstr "TOTP settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp > :digits" +msgid "Determines the length of a one-time pass-code, in characters. Defaults to 6 characters." +msgstr "" +"Determines the length of a one-time pass-code, in characters. Defaults to 6 " +"characters." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp > :period" +msgid "A period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds." +msgstr "" +"A period for which the TOTP code will be valid, in seconds. Defaults to 30 " +"seconds." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :name" +msgid "Name of the instance" +msgstr "Name of the instance" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :notify_email" +msgid "Envelope FROM address for mail sent via Pleroma" +msgstr "Envelope FROM address for mail sent via Pleroma" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :poll_limits" +msgid "A map with poll limits for local polls" +msgstr "A map with poll limits for local polls" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :poll_limits > :max_expiration" +msgid "Maximum expiration time (in seconds)" +msgstr "Maximum expiration time (in seconds)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :poll_limits > :max_option_chars" +msgid "Maximum number of characters per option" +msgstr "Maximum number of characters per option" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :poll_limits > :max_options" +msgid "Maximum number of options" +msgstr "Maximum number of options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :poll_limits > :min_expiration" +msgid "Minimum expiration time (in seconds)" +msgstr "Minimum expiration time (in seconds)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :profile_directory" +msgid "Enable profile directory." +msgstr "Enable profile directory." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :registration_reason_length" +msgid "Maximum registration reason length. Default: 500." +msgstr "Maximum registration reason length. Default: 500." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :registrations_open" +msgid "Enable registrations for anyone. Invitations require this setting to be disabled." +msgstr "" +"Enable registrations for anyone. Invitations require this setting to be " +"disabled." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :remote_limit" +msgid "Hard character limit beyond which remote posts will be dropped" +msgstr "Hard character limit beyond which remote posts will be dropped" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :remote_post_retention_days" +msgid "The default amount of days to retain remote posts when pruning the database" +msgstr "" +"The default amount of days to retain remote posts when pruning the database" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :safe_dm_mentions" +msgid "If enabled, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them (e.g. \"@admin please keep an eye on @bad_actor\"). Default: disabled" +msgstr "" +"If enabled, only mentions at the beginning of a post will be used to address " +"people in direct messages. This is to prevent accidental mentioning of " +"people when talking about them (e.g. \"@admin please keep an eye on @" +"bad_actor\"). Default: disabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :show_reactions" +msgid "Let favourites and emoji reactions be viewed through the API." +msgstr "Let favourites and emoji reactions be viewed through the API." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :skip_thread_containment" +msgid "Skip filtering out broken threads. Default: enabled." +msgstr "Skip filtering out broken threads. Default: enabled." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :static_dir" +msgid "Instance static directory" +msgstr "Instance static directory" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :upload_limit" +msgid "File size limit of uploads (except for avatar, background, banner)" +msgstr "File size limit of uploads (except for avatar, background, banner)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :user_bio_length" +msgid "A user bio maximum length. Default: 5000." +msgstr "A user bio maximum length. Default: 5000." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :user_name_length" +msgid "A user name maximum length. Default: 100." +msgstr "A user name maximum length. Default: 100." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instances_favicons > :enabled" +msgid "Allow/disallow displaying and getting instances favicons" +msgstr "Allow/disallow displaying and getting instances favicons" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :base" +msgid "LDAP base, e.g. \"dc=example,dc=com\"" +msgstr "LDAP base, e.g. \"dc=example,dc=com\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :enabled" +msgid "Enables LDAP authentication" +msgstr "Enables LDAP authentication" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :host" +msgid "LDAP server hostname" +msgstr "LDAP server hostname" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :port" +msgid "LDAP port, e.g. 389 or 636" +msgstr "LDAP port, e.g. 389 or 636" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :ssl" +msgid "Enable to use SSL, usually implies the port 636" +msgstr "Enable to use SSL, usually implies the port 636" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :sslopts" +msgid "Additional SSL options" +msgstr "Additional SSL options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :sslopts > :cacertfile" +msgid "Path to file with PEM encoded cacerts" +msgstr "Path to file with PEM encoded cacerts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :sslopts > :verify" +msgid "Type of cert verification" +msgstr "Type of cert verification" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :tls" +msgid "Enable to use STARTTLS, usually implies the port 389" +msgstr "Enable to use STARTTLS, usually implies the port 389" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :tlsopts" +msgid "Additional TLS options" +msgstr "Additional TLS options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :tlsopts > :cacertfile" +msgid "Path to file with PEM encoded cacerts" +msgstr "Path to file with PEM encoded cacerts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :tlsopts > :verify" +msgid "Type of cert verification" +msgstr "Type of cert verification" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:ldap > :uid" +msgid "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\"" +msgstr "" +"LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter " +"will be \"cn=username,base\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:majic_pool > :size" +msgid "Number of majic workers to start." +msgstr "Number of majic workers to start." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:manifest > :icons" +msgid "Describe the icons of the app" +msgstr "Describe the icons of the app" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:markup > :scrub_policy" +msgid "Module names are shortened (removed leading `Pleroma.HTML.` part), but on adding custom module you need to use full name." +msgstr "" +"Module names are shortened (removed leading `Pleroma.HTML.` part), but on " +"adding custom module you need to use full name." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_preview_proxy > :enabled" +msgid "Enables proxying of remote media preview to the instance's proxy. Requires enabled media proxy." +msgstr "" +"Enables proxying of remote media preview to the instance's proxy. Requires " +"enabled media proxy." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_preview_proxy > :image_quality" +msgid "Quality of the output. Ranges from 0 (min quality) to 100 (max quality)." +msgstr "" +"Quality of the output. Ranges from 0 (min quality) to 100 (max quality)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_preview_proxy > :min_content_length" +msgid "Min content length (in bytes) to perform preview. Media smaller in size will be served without thumbnailing." +msgstr "" +"Min content length (in bytes) to perform preview. Media smaller in size will " +"be served without thumbnailing." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_preview_proxy > :thumbnail_max_height" +msgid "Max height of preview thumbnail for images (video preview always has original dimensions)." +msgstr "" +"Max height of preview thumbnail for images (video preview always has " +"original dimensions)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_preview_proxy > :thumbnail_max_width" +msgid "Max width of preview thumbnail for images (video preview always has original dimensions)." +msgstr "" +"Max width of preview thumbnail for images (video preview always has original " +"dimensions)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :base_url" +msgid "The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts." +msgstr "" +"The base URL to access a user-uploaded file. Useful when you want to proxy " +"the media files via another host/CDN fronts." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :enabled" +msgid "Enables proxying of remote media via the instance's proxy" +msgstr "Enables proxying of remote media via the instance's proxy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :invalidation > :enabled" +msgid "Enables media cache object invalidation." +msgstr "Enables media cache object invalidation." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :invalidation > :provider" +msgid "Module which will be used to purge objects from the cache." +msgstr "Module which will be used to purge objects from the cache." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :proxy_opts" +msgid "Internal Pleroma.ReverseProxy settings" +msgstr "Internal Pleroma.ReverseProxy settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :max_body_length" +msgid "Maximum file size (in bytes) allowed through the Pleroma MediaProxy cache." +msgstr "" +"Maximum file size (in bytes) allowed through the Pleroma MediaProxy cache." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :max_read_duration" +msgid "Timeout (in milliseconds) of GET request to the remote URI." +msgstr "Timeout (in milliseconds) of GET request to the remote URI." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :redirect_on_failure" +msgid "Redirects the client to the origin server upon encountering HTTP errors.\n\nNote that files larger than Max Body Length will trigger an error. (e.g., Peertube videos)\n\n\n**WARNING:** This setting will allow larger files to be accessed, but exposes the\n\nIP addresses of your users to the other servers, bypassing the MediaProxy.\n" +msgstr "" +"Redirects the client to the origin server upon encountering HTTP errors.\n" +"\n" +"Note that files larger than Max Body Length will trigger an error. (e.g., " +"Peertube videos)\n" +"\n" +"\n" +"**WARNING:** This setting will allow larger files to be accessed, but " +"exposes the\n" +"\n" +"IP addresses of your users to the other servers, bypassing the MediaProxy.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:media_proxy > :whitelist" +msgid "List of hosts with scheme to bypass the MediaProxy" +msgstr "List of hosts with scheme to bypass the MediaProxy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:modules > :runtime_dir" +msgid "A path to custom Elixir modules (such as MRF policies)." +msgstr "A path to custom Elixir modules (such as MRF policies)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf > :policies" +msgid "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name." +msgstr "" +"A list of MRF policies enabled. Module names are shortened (removed leading " +"`Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need " +"to use full name." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf > :transparency" +msgid "Make the content of your Message Rewrite Facility settings public (via nodeinfo)" +msgstr "" +"Make the content of your Message Rewrite Facility settings public (via " +"nodeinfo)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf > :transparency_exclusions" +msgid "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value. You can also provide a reason for excluding these instance names. The instances and reasons won't be publicly disclosed." +msgstr "" +"Exclude specific instance names from MRF transparency. The use of the " +"exclusions feature will be disclosed in nodeinfo as a boolean value. You can " +"also provide a reason for excluding these instance names. The instances and " +"reasons won't be publicly disclosed." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_activity_expiration > :days" +msgid "Default global expiration time for all local activities (in days)" +msgstr "Default global expiration time for all local activities (in days)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_follow_bot > :follower_nickname" +msgid "The name of the bot account to use for following newly discovered users." +msgstr "" +"The name of the bot account to use for following newly discovered users." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hashtag > :federated_timeline_removal" +msgid "A list of hashtags which result in message being removed from federated timelines (a.k.a unlisted)." +msgstr "" +"A list of hashtags which result in message being removed from federated " +"timelines (a.k.a unlisted)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hashtag > :reject" +msgid "A list of hashtags which result in message being rejected." +msgstr "A list of hashtags which result in message being rejected." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hashtag > :sensitive" +msgid "A list of hashtags which result in message being set as sensitive (a.k.a NSFW/R-18)" +msgstr "" +"A list of hashtags which result in message being set as sensitive (a.k.a " +"NSFW/R-18)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hellthread > :delist_threshold" +msgid "Number of mentioned users after which the message gets removed from timelines anddisables notifications. Set to 0 to disable." +msgstr "" +"Number of mentioned users after which the message gets removed from " +"timelines anddisables notifications. Set to 0 to disable." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_hellthread > :reject_threshold" +msgid "Number of mentioned users after which the messaged gets rejected. Set to 0 to disable." +msgstr "" +"Number of mentioned users after which the messaged gets rejected. Set to 0 " +"to disable." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_keyword > :federated_timeline_removal" +msgid " A list of patterns which result in message being removed from federated timelines (a.k.a unlisted).\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n" +msgstr "" +" A list of patterns which result in message being removed from federated " +"timelines (a.k.a unlisted).\n" +"\n" +" Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex." +"html) in the format of `~r/PATTERN/`.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_keyword > :reject" +msgid " A list of patterns which result in message being rejected.\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n" +msgstr "" +" A list of patterns which result in message being rejected.\n" +"\n" +" Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex." +"html) in the format of `~r/PATTERN/`.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_keyword > :replace" +msgid " **Pattern**: a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n\n **Replacement**: a string. Leaving the field empty is permitted.\n" +msgstr "" +" **Pattern**: a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in " +"the format of `~r/PATTERN/`.\n" +"\n" +" **Replacement**: a string. Leaving the field empty is permitted.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_mention > :actors" +msgid "A list of actors for which any post mentioning them will be dropped" +msgstr "A list of actors for which any post mentioning them will be dropped" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_object_age > :actions" +msgid "A list of actions to apply to the post. `:delist` removes the post from public timelines; `:strip_followers` removes followers from the ActivityPub recipient list ensuring they won't be delivered to home timelines; `:reject` rejects the message entirely" +msgstr "" +"A list of actions to apply to the post. `:delist` removes the post from " +"public timelines; `:strip_followers` removes followers from the ActivityPub " +"recipient list ensuring they won't be delivered to home timelines; `:reject` " +"rejects the message entirely" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_object_age > :threshold" +msgid "Required age (in seconds) of a post before actions are taken." +msgstr "Required age (in seconds) of a post before actions are taken." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_rejectnonpublic > :allow_direct" +msgid "Whether to allow direct messages" +msgstr "Whether to allow direct messages" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_rejectnonpublic > :allow_followersonly" +msgid "Whether to allow followers-only posts" +msgstr "Whether to allow followers-only posts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :accept" +msgid "List of instances to only accept activities from (except deletes) and the reason for doing so" +msgstr "" +"List of instances to only accept activities from (except deletes) and the " +"reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :avatar_removal" +msgid "List of instances to strip avatars from and the reason for doing so" +msgstr "List of instances to strip avatars from and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :banner_removal" +msgid "List of instances to strip banners from and the reason for doing so" +msgstr "List of instances to strip banners from and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :federated_timeline_removal" +msgid "List of instances to remove from the Federated (aka The Whole Known Network) Timeline and the reason for doing so" +msgstr "" +"List of instances to remove from the Federated (aka The Whole Known Network) " +"Timeline and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :followers_only" +msgid "Force posts from the given instances to be visible by followers only and the reason for doing so" +msgstr "" +"Force posts from the given instances to be visible by followers only and the " +"reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :media_nsfw" +msgid "List of instances to tag all media as NSFW (sensitive) from and the reason for doing so" +msgstr "" +"List of instances to tag all media as NSFW (sensitive) from and the reason " +"for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :media_removal" +msgid "List of instances to strip media attachments from and the reason for doing so" +msgstr "" +"List of instances to strip media attachments from and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :reject" +msgid "List of instances to reject activities from (except deletes) and the reason for doing so" +msgstr "" +"List of instances to reject activities from (except deletes) and the reason " +"for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :reject_deletes" +msgid "List of instances to reject deletions from and the reason for doing so" +msgstr "List of instances to reject deletions from and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :report_removal" +msgid "List of instances to reject reports from and the reason for doing so" +msgstr "List of instances to reject reports from and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_steal_emoji > :hosts" +msgid "List of hosts to steal emojis from" +msgstr "List of hosts to steal emojis from" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_steal_emoji > :rejected_shortcodes" +msgid " A list of patterns or matches to reject shortcodes with.\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n" +msgstr "" +" A list of patterns or matches to reject shortcodes with.\n" +"\n" +" Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex." +"html) in the format of `~r/PATTERN/`.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_steal_emoji > :size_limit" +msgid "File size limit (in bytes), checked before an emoji is saved to the disk" +msgstr "" +"File size limit (in bytes), checked before an emoji is saved to the disk" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_subchain > :match_actor" +msgid "Matches a series of regular expressions against the actor field" +msgstr "Matches a series of regular expressions against the actor field" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_vocabulary > :accept" +msgid "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted." +msgstr "" +"A list of ActivityStreams terms to accept. If empty, all supported messages " +"are accepted." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_vocabulary > :reject" +msgid "A list of ActivityStreams terms to reject. If empty, no messages are rejected." +msgstr "" +"A list of ActivityStreams terms to reject. If empty, no messages are " +"rejected." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:oauth2 > :clean_expired_tokens" +msgid "Enable a background job to clean expired OAuth tokens. Default: disabled." +msgstr "" +"Enable a background job to clean expired OAuth tokens. Default: disabled." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:oauth2 > :issue_new_refresh_token" +msgid "Keeps old refresh token or generate new refresh token when to obtain an access token" +msgstr "" +"Keeps old refresh token or generate new refresh token when to obtain an " +"access token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:oauth2 > :token_expires_in" +msgid "The lifetime in seconds of the access token" +msgstr "The lifetime in seconds of the access token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:populate_hashtags_table > :fault_rate_allowance" +msgid "Max accepted rate of objects that failed in the migration. Any value from 0.0 which tolerates no errors to 1.0 which will enable the feature even if hashtags transfer failed for all records." +msgstr "" +"Max accepted rate of objects that failed in the migration. Any value from " +"0.0 which tolerates no errors to 1.0 which will enable the feature even if " +"hashtags transfer failed for all records." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:populate_hashtags_table > :sleep_interval_ms" +msgid "Sleep interval between each chunk of processed records in order to decrease the load on the system (defaults to 0 and should be keep default on most instances)." +msgstr "" +"Sleep interval between each chunk of processed records in order to decrease " +"the load on the system (defaults to 0 and should be keep default on most " +"instances)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :app_account_creation" +msgid "For registering user accounts from the same IP address" +msgstr "For registering user accounts from the same IP address" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :authentication" +msgid "For authentication create / password check / user existence check requests" +msgstr "" +"For authentication create / password check / user existence check requests" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :relation_id_action" +msgid "For actions on relation with a specific user (follow, unfollow)" +msgstr "For actions on relation with a specific user (follow, unfollow)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :relations_actions" +msgid "For actions on relationships with all users (follow, unfollow)" +msgstr "For actions on relationships with all users (follow, unfollow)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :search" +msgid "For the search requests (account & status search etc.)" +msgstr "For the search requests (account & status search etc.)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :status_id_action" +msgid "For fav / unfav or reblog / unreblog actions on the same status by the same user" +msgstr "" +"For fav / unfav or reblog / unreblog actions on the same status by the same " +"user" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :statuses_actions" +msgid "For create / delete / fav / unfav / reblog / unreblog actions on any statuses" +msgstr "" +"For create / delete / fav / unfav / reblog / unreblog actions on any statuses" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rate_limit > :timeline" +msgid "For requests to timelines (each timeline has it's own limiter)" +msgstr "For requests to timelines (each timeline has it's own limiter)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles" +msgid "Settings for user profiles." +msgstr "Settings for user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines" +msgid "Settings for public and federated timelines." +msgstr "Settings for public and federated timelines." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media > :enabled" +msgid "Enables RichMedia parsing of URLs" +msgstr "Enables RichMedia parsing of URLs" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media > :failure_backoff" +msgid "Amount of milliseconds after request failure, during which the request will not be retried." +msgstr "" +"Amount of milliseconds after request failure, during which the request will " +"not be retried." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media > :ignore_hosts" +msgid "List of hosts which will be ignored by the metadata parser" +msgstr "List of hosts which will be ignored by the metadata parser" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media > :ignore_tld" +msgid "List TLDs (top-level domains) which will ignore for parse metadata" +msgstr "List TLDs (top-level domains) which will ignore for parse metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media > :parsers" +msgid "List of Rich Media parsers. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parsers.` part), but on adding custom module you need to use full name." +msgstr "" +"List of Rich Media parsers. Module names are shortened (removed leading " +"`Pleroma.Web.RichMedia.Parsers.` part), but on adding custom module you need " +"to use full name." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:rich_media > :ttl_setters" +msgid "List of rich media TTL setters. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need to use full name." +msgstr "" +"List of rich media TTL setters. Module names are shortened (removed leading " +"`Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need " +"to use full name." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:static_fe > :enabled" +msgid "Enables the rendering of static HTML. Default: disabled." +msgstr "Enables the rendering of static HTML. Default: disabled." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:streamer > :overflow_workers" +msgid "Maximum number of workers created if pool is empty" +msgstr "Maximum number of workers created if pool is empty" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:streamer > :workers" +msgid "Number of workers to send notifications" +msgstr "Number of workers to send notifications" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:uri_schemes > :valid_schemes" +msgid "List of the scheme part that is considered valid to be an URL" +msgstr "List of the scheme part that is considered valid to be an URL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:web_cache_ttl > :activity_pub" +msgid "Activity pub routes (except question activities). Default: `nil` (no expiration)." +msgstr "" +"Activity pub routes (except question activities). Default: `nil` (no " +"expiration)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:web_cache_ttl > :activity_pub_question" +msgid "Activity pub routes (question activities). Default: `30_000` (30 seconds)." +msgstr "" +"Activity pub routes (question activities). Default: `30_000` (30 seconds)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :direct_message > :enabled" +msgid "Enables sending a direct message to newly registered users" +msgstr "Enables sending a direct message to newly registered users" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :direct_message > :message" +msgid "A message that will be sent to newly registered users" +msgstr "A message that will be sent to newly registered users" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :direct_message > :sender_nickname" +msgid "The nickname of the local user that sends a welcome message" +msgstr "The nickname of the local user that sends a welcome message" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :email > :enabled" +msgid "Enables sending an email to newly registered users" +msgstr "Enables sending an email to newly registered users" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :email > :html" +msgid "HTML content of the welcome email. EEX template with user and instance_name variables can be used." +msgstr "" +"HTML content of the welcome email. EEX template with user and instance_name " +"variables can be used." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :email > :sender" +msgid "Email address and/or nickname that will be used to send the welcome email." +msgstr "" +"Email address and/or nickname that will be used to send the welcome email." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :email > :subject" +msgid "Subject of the welcome email. EEX template with user and instance_name variables can be used." +msgstr "" +"Subject of the welcome email. EEX template with user and instance_name " +"variables can be used." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:welcome > :email > :text" +msgid "Text content of the welcome email. EEX template with user and instance_name variables can be used." +msgstr "" +"Text content of the welcome email. EEX template with user and instance_name " +"variables can be used." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:workers > :retries" +msgid "Max retry attempts for failed jobs, per `Oban` queue" +msgstr "Max retry attempts for failed jobs, per `Oban` queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" +msgid "Concurrent limits configuration for MediaProxyWarmingPolicy." +msgstr "Concurrent limits configuration for MediaProxyWarmingPolicy." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_running" +msgid "Max running concurrently jobs." +msgstr "Max running concurrently jobs." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_waiting" +msgid "Max waiting jobs." +msgstr "Max waiting jobs." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers" +msgid "Concurrent limits configuration for getting RichMedia for activities." +msgstr "Concurrent limits configuration for getting RichMedia for activities." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_running" +msgid "Max running concurrently jobs." +msgstr "Max running concurrently jobs." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_waiting" +msgid "Max waiting jobs." +msgstr "Max waiting jobs." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :crontab" +msgid "Settings for cron background jobs" +msgstr "Settings for cron background jobs" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :log" +msgid "Logs verbose mode" +msgstr "Logs verbose mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues" +msgid "Background jobs queues (keys: queues, values: max numbers of concurrent jobs)" +msgstr "" +"Background jobs queues (keys: queues, values: max numbers of concurrent jobs)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :activity_expiration" +msgid "Activity expiration queue" +msgstr "Activity expiration queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :attachments_cleanup" +msgid "Attachment deletion queue" +msgstr "Attachment deletion queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :background" +msgid "Background queue" +msgstr "Background queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :backup" +msgid "Backup queue" +msgstr "Backup queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :federator_incoming" +msgid "Incoming federation queue" +msgstr "Incoming federation queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :federator_outgoing" +msgid "Outgoing federation queue" +msgstr "Outgoing federation queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :mailer" +msgid "Email sender queue, see Pleroma.Emails.Mailer" +msgstr "Email sender queue, see Pleroma.Emails.Mailer" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :scheduled_activities" +msgid "Scheduled activities queue, see Pleroma.ScheduledActivities" +msgstr "Scheduled activities queue, see Pleroma.ScheduledActivities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :transmogrifier" +msgid "Transmogrifier queue" +msgstr "Transmogrifier queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Oban > :queues > :web_push" +msgid "Web push notifications queue" +msgstr "Web push notifications queue" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Captcha > :enabled" +msgid "Whether the captcha should be shown on registration" +msgstr "Whether the captcha should be shown on registration" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Captcha > :method" +msgid "The method/service to use for captcha" +msgstr "The method/service to use for captcha" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Captcha > :seconds_valid" +msgid "The time in seconds for which the captcha is valid" +msgstr "The time in seconds for which the captcha is valid" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Captcha.Kocaptcha > :endpoint" +msgid "The kocaptcha endpoint to use" +msgstr "The kocaptcha endpoint to use" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > :adapter" +msgid "One of the mail adapters listed in [Swoosh documentation](https://hexdocs.pm/swoosh/Swoosh.html#module-adapters)" +msgstr "" +"One of the mail adapters listed in [Swoosh documentation](https://hexdocs.pm/" +"swoosh/Swoosh.html#module-adapters)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:auth" +msgid "SMTP AUTH enforcement mode" +msgstr "SMTP AUTH enforcement mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:password" +msgid "SMTP AUTH password" +msgstr "SMTP AUTH password" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:port" +msgid "SMTP port" +msgstr "SMTP port" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:relay" +msgid "Hostname or IP address" +msgstr "Hostname or IP address" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:retries" +msgid "SMTP temporary (4xx) error retries" +msgstr "SMTP temporary (4xx) error retries" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:ssl" +msgid "Use Implicit SSL/TLS. e.g. port 465" +msgstr "Use Implicit SSL/TLS. e.g. port 465" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:tls" +msgid "Explicit TLS (STARTTLS) enforcement mode" +msgstr "Explicit TLS (STARTTLS) enforcement mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:username" +msgid "SMTP AUTH username" +msgstr "SMTP AUTH username" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.NewUsersDigestEmail > :enabled" +msgid "Enables new users admin digest email when `true`" +msgstr "Enables new users admin digest email when `true`" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail > :logo" +msgid "A path to a custom logo. Set it to `nil` to use the default Pleroma logo." +msgstr "" +"A path to a custom logo. Set it to `nil` to use the default Pleroma logo." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail > :styling" +msgid "A map with color settings for email templates." +msgstr "A map with color settings for email templates." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :class" +msgid "Specify the class to be added to the generated link. Disable to clear." +msgstr "Specify the class to be added to the generated link. Disable to clear." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :extra" +msgid "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)" +msgstr "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :new_window" +msgid "Link URLs will open in a new window/tab." +msgstr "Link URLs will open in a new window/tab." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :rel" +msgid "Override the rel attribute. Disable to clear." +msgstr "Override the rel attribute. Disable to clear." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :strip_prefix" +msgid "Strip the scheme prefix." +msgstr "Strip the scheme prefix." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :truncate" +msgid "Set to a number to truncate URLs longer than the number. Truncated URLs will end in `...`" +msgstr "" +"Set to a number to truncate URLs longer than the number. Truncated URLs will " +"end in `...`" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Formatter > :validate_tld" +msgid "Set to false to disable TLD validation for URLs/emails. Can be set to :no_scheme to validate TLDs only for URLs without a scheme (e.g `example.com` will be validated, but `http://example.loki` won't)" +msgstr "" +"Set to false to disable TLD validation for URLs/emails. Can be set to :" +"no_scheme to validate TLDs only for URLs without a scheme (e.g `example.com` " +"will be validated, but `http://example.loki` won't)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :daily_user_limit" +msgid "The number of scheduled activities a user is allowed to create in a single day. Default: 25." +msgstr "" +"The number of scheduled activities a user is allowed to create in a single " +"day. Default: 25." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :enabled" +msgid "Whether scheduled activities are sent to the job queue to be executed" +msgstr "Whether scheduled activities are sent to the job queue to be executed" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :total_user_limit" +msgid "The number of scheduled activities a user is allowed to create in total. Default: 300." +msgstr "" +"The number of scheduled activities a user is allowed to create in total. " +"Default: 300." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload > :base_url" +msgid "Base URL for the uploads. Required if you use a CDN or host attachments under a different domain." +msgstr "" +"Base URL for the uploads. Required if you use a CDN or host attachments " +"under a different domain." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload > :filename_display_max_length" +msgid "Set max length of a filename to display. 0 = no limit. Default: 30" +msgstr "Set max length of a filename to display. 0 = no limit. Default: 30" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload > :filters" +msgid "List of filter modules for uploads. Module names are shortened (removed leading `Pleroma.Upload.Filter.` part), but on adding custom module you need to use full name." +msgstr "" +"List of filter modules for uploads. Module names are shortened (removed " +"leading `Pleroma.Upload.Filter.` part), but on adding custom module you need " +"to use full name." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload > :link_name" +msgid "If enabled, a name parameter will be added to the URL of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`." +msgstr "" +"If enabled, a name parameter will be added to the URL of the upload. For " +"example `https://instance.tld/media/imagehash.png?name=realname.png`." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload > :proxy_remote" +msgid "Proxy requests to the remote uploader.\n\nUseful if media upload endpoint is not internet accessible.\n" +msgstr "" +"Proxy requests to the remote uploader.\n" +"\n" +"Useful if media upload endpoint is not internet accessible.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload > :uploader" +msgid "Module which will be used for uploads" +msgstr "Module which will be used for uploads" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename > :text" +msgid "Text to replace filenames in links. If no setting, {random}.extension will be used. You can get the original filename extension by using {extension}, for example custom-file-name.{extension}." +msgstr "" +"Text to replace filenames in links. If no setting, {random}.extension will " +"be used. You can get the original filename extension by using {extension}, " +"for example custom-file-name.{extension}." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Upload.Filter.Mogrify > :args" +msgid "List of actions for the mogrify command. It's possible to add self-written settings as string. For example `auto-orient, strip, {\"resize\", \"3840x1080>\"}` value will be parsed into valid list of the settings." +msgstr "" +"List of actions for the mogrify command. It's possible to add self-written " +"settings as string. For example `auto-orient, strip, {\"resize\", \"3840x1080" +">\"}` value will be parsed into valid list of the settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.Local > :uploads" +msgid "Path where user's uploads will be saved" +msgstr "Path where user's uploads will be saved" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :bucket" +msgid "S3 bucket" +msgstr "S3 bucket" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :bucket_namespace" +msgid "S3 bucket namespace" +msgstr "S3 bucket namespace" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :streaming_enabled" +msgid "Enable streaming uploads, when enabled the file will be sent to the server in chunks as it's being read. This may be unsupported by some providers, try disabling this if you have upload problems." +msgstr "" +"Enable streaming uploads, when enabled the file will be sent to the server " +"in chunks as it's being read. This may be unsupported by some providers, try " +"disabling this if you have upload problems." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :truncated_namespace" +msgid "If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc. For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in Upload base_url." +msgstr "" +"If you use S3 compatible service such as Digital Ocean Spaces or CDN, set " +"folder name or \"\" etc. For example, when using CDN to S3 virtual host " +"format, set \"\". At this time, write CNAME to CDN in Upload base_url." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.User > :email_blacklist" +msgid "List of email domains users may not register with." +msgstr "List of email domains users may not register with." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.User > :restricted_nicknames" +msgid "List of nicknames users may not register with." +msgstr "List of nicknames users may not register with." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.User.Backup > :limit_days" +msgid "Limit user to export not more often than once per N days" +msgstr "Limit user to export not more often than once per N days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.User.Backup > :purge_after_days" +msgid "Remove backup achives after N days" +msgstr "Remove backup achives after N days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate > :strict" +msgid "Enables strict input validation (useful in development, not recommended in production)" +msgstr "" +"Enables strict input validation (useful in development, not recommended in " +"production)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :headers" +msgid "HTTP headers of request" +msgstr "HTTP headers of request" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :method" +msgid "HTTP method of request. Default: :purge" +msgstr "HTTP method of request. Default: :purge" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options" +msgid "Request options" +msgstr "Request options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :script_path" +msgid "Path to executable script which will purge cached items." +msgstr "Path to executable script which will purge cached items." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :url_format" +msgid "Optional URL format preprocessing. Only required for Apache's htcacheclean." +msgstr "" +"Optional URL format preprocessing. Only required for Apache's htcacheclean." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata > :providers" +msgid "List of metadata providers to enable" +msgstr "List of metadata providers to enable" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata > :unfurl_nsfw" +msgid "When enabled NSFW attachments will be shown in previews" +msgstr "When enabled NSFW attachments will be shown in previews" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :enabled" +msgid "Enable/disable the plug. Default: disabled." +msgstr "Enable/disable the plug. Default: disabled." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :headers" +msgid " A list of strings naming the HTTP headers to use when deriving the true client IP. Default: `[\"x-forwarded-for\"]`.\n" +msgstr "" +" A list of strings naming the HTTP headers to use when deriving the true " +"client IP. Default: `[\"x-forwarded-for\"]`.\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :proxies" +msgid "A list of upstream proxy IP subnets in CIDR notation from which we will parse the content of `headers`. Defaults to `[]`. IPv4 entries without a bitmask will be assumed to be /32 and IPv6 /128." +msgstr "" +"A list of upstream proxy IP subnets in CIDR notation from which we will " +"parse the content of `headers`. Defaults to `[]`. IPv4 entries without a " +"bitmask will be assumed to be /32 and IPv6 /128." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :reserved" +msgid " A list of reserved IP subnets in CIDR notation which should be ignored if found in `headers`. Defaults to `[\"127.0.0.0/8\", \"::1/128\", \"fc00::/7\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"]`\n" +msgstr "" +" A list of reserved IP subnets in CIDR notation which should be ignored if " +"found in `headers`. Defaults to `[\"127.0.0.0/8\", \"::1/128\", \"fc00::/7\"" +", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"]`\n" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Preload > :providers" +msgid "List of preload providers to enable" +msgstr "List of preload providers to enable" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :enabled" +msgid "Enables expired activities addition & deletion" +msgstr "Enables expired activities addition & deletion" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :min_lifetime" +msgid "Minimum lifetime for ephemeral activity (in seconds)" +msgstr "Minimum lifetime for ephemeral activity (in seconds)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :web_push_encryption-:vapid_details > :private_key" +msgid "VAPID private key" +msgstr "VAPID private key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :web_push_encryption-:vapid_details > :public_key" +msgid "VAPID public key" +msgstr "VAPID public key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :web_push_encryption-:vapid_details > :subject" +msgid "A mailto link for the administrative contact. It's best if this email is not a personal email address, but rather a group email to the instance moderation team." +msgstr "" +"A mailto link for the administrative contact. It's best if this email is not " +"a personal email address, but rather a group email to the instance " +"moderation team." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :cors_plug > :credentials" +msgid "Credentials" +msgstr "Credentials" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :cors_plug > :expose" +msgid "Expose" +msgstr "Expose" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :cors_plug > :headers" +msgid "Headers" +msgstr "Headers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :cors_plug > :max_age" +msgid "Max age" +msgstr "Max age" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :cors_plug > :methods" +msgid "Methods" +msgstr "Methods" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :ex_aws-:s3 > :access_key_id" +msgid "Access key" +msgstr "Access key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :ex_aws-:s3 > :host" +msgid "Host" +msgstr "Host" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :ex_aws-:s3 > :region" +msgid "Region" +msgstr "Region" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :ex_aws-:s3 > :secret_access_key" +msgid "Secret access key" +msgstr "Secret access key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger > :backends" +msgid "Backends" +msgstr "Backends" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:console > :format" +msgid "Format" +msgstr "Format" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:console > :level" +msgid "Level" +msgstr "Level" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:console > :metadata" +msgid "Metadata" +msgstr "Metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:ex_syslogger > :format" +msgid "Format" +msgstr "Format" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:ex_syslogger > :ident" +msgid "Ident" +msgstr "Ident" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:ex_syslogger > :level" +msgid "Level" +msgstr "Level" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :logger-:ex_syslogger > :metadata" +msgid "Metadata" +msgstr "Metadata" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime > :types" +msgid "Types" +msgstr "Types" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime > :types > application/activity+json" +msgid "\"application/activity+json\"" +msgstr "\"application/activity+json\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime > :types > application/jrd+json" +msgid "\"application/jrd+json\"" +msgstr "\"application/jrd+json\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime > :types > application/ld+json" +msgid "\"application/ld+json\"" +msgstr "\"application/ld+json\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime > :types > application/xml" +msgid "\"application/xml\"" +msgstr "\"application/xml\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :mime > :types > application/xrd+xml" +msgid "\"application/xrd+xml\"" +msgstr "\"application/xrd+xml\"" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma > :admin_token" +msgid "Admin token" +msgstr "Admin token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma > Pleroma.Web.Auth.Authenticator" +msgid "Pleroma.Web.Auth.Authenticator" +msgstr "Pleroma.Web.Auth.Authenticator" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :blockers_visible" +msgid "Blockers visible" +msgstr "Blockers visible" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :follow_handshake_timeout" +msgid "Follow handshake timeout" +msgstr "Follow handshake timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :note_replies_output_limit" +msgid "Note replies output limit" +msgstr "Note replies output limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :outgoing_blocks" +msgid "Outgoing blocks" +msgstr "Outgoing blocks" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :sign_object_fetches" +msgid "Sign object fetches" +msgstr "Sign object fetches" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :unfollow_blocked" +msgid "Unfollow blocked" +msgstr "Unfollow blocked" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:assets > :default_mascot" +msgid "Default mascot" +msgstr "Default mascot" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:assets > :default_user_avatar" +msgid "Default user avatar" +msgstr "Default user avatar" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:assets > :mascots" +msgid "Mascots" +msgstr "Mascots" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:auth > :auth_template" +msgid "Auth template" +msgstr "Auth template" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:auth > :enforce_oauth_admin_scope_usage" +msgid "Enforce OAuth admin scope usage" +msgstr "Enforce OAuth admin scope usage" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:auth > :oauth_consumer_strategies" +msgid "OAuth consumer strategies" +msgstr "OAuth consumer strategies" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:auth > :oauth_consumer_template" +msgid "OAuth consumer template" +msgstr "OAuth consumer template" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:email_notifications > :digest" +msgid "Digest" +msgstr "Digest" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:email_notifications > :digest > :active" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:email_notifications > :digest > :inactivity_threshold" +msgid "Inactivity threshold" +msgstr "Inactivity threshold" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:email_notifications > :digest > :interval" +msgid "Interval" +msgstr "Interval" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:email_notifications > :digest > :schedule" +msgid "Schedule" +msgstr "Schedule" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:emoji > :default_manifest" +msgid "Default manifest" +msgstr "Default manifest" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:emoji > :groups" +msgid "Groups" +msgstr "Groups" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:emoji > :pack_extensions" +msgid "Pack extensions" +msgstr "Pack extensions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:emoji > :shared_pack_cache_seconds_per_file" +msgid "Shared pack cache s/file" +msgstr "Shared pack cache s/file" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:emoji > :shortcode_globs" +msgid "Shortcode globs" +msgstr "Shortcode globs" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:features > :improved_hashtag_timeline" +msgid "Improved hashtag timeline" +msgstr "Improved hashtag timeline" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:feed > :post_title" +msgid "Post title" +msgstr "Post title" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:feed > :post_title > :max_length" +msgid "Max length" +msgstr "Max length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:feed > :post_title > :omission" +msgid "Omission" +msgstr "Omission" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe" +msgid "Pleroma FE" +msgstr "Pleroma FE" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :alwaysShowSubjectInput" +msgid "Always show subject input" +msgstr "Always show subject input" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :background" +msgid "Background" +msgstr "Background" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :collapseMessageWithSubject" +msgid "Collapse message with subject" +msgstr "Collapse message with subject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :greentext" +msgid "Greentext" +msgstr "Greentext" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideFilteredStatuses" +msgid "Hide Filtered Statuses" +msgstr "Hide Filtered Statuses" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideMutedPosts" +msgid "Hide Muted Posts" +msgstr "Hide Muted Posts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hidePostStats" +msgid "Hide post stats" +msgstr "Hide post stats" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideUserStats" +msgid "Hide user stats" +msgstr "Hide user stats" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logo" +msgid "Logo" +msgstr "Logo" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logoMargin" +msgid "Logo margin" +msgstr "Logo margin" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logoMask" +msgid "Logo mask" +msgstr "Logo mask" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :nsfwCensorImage" +msgid "NSFW Censor Image" +msgstr "NSFW Censor Image" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :postContentType" +msgid "Post Content Type" +msgstr "Post Content Type" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootLogin" +msgid "Redirect root login" +msgstr "Redirect root login" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootNoLogin" +msgid "Redirect root no login" +msgstr "Redirect root no login" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :scopeCopy" +msgid "Scope copy" +msgstr "Scope copy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showFeaturesPanel" +msgid "Show instance features panel" +msgstr "Show instance features panel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showInstanceSpecificPanel" +msgid "Show instance specific panel" +msgstr "Show instance specific panel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :sidebarRight" +msgid "Sidebar on Right" +msgstr "Sidebar on Right" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :subjectLineBehavior" +msgid "Subject line behavior" +msgstr "Subject line behavior" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :theme" +msgid "Theme" +msgstr "Theme" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :admin" +msgid "Admin" +msgstr "Admin" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :admin > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :admin > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available" +msgid "Available" +msgstr "Available" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available > build_dir" +msgid "Build directory" +msgstr "Build directory" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available > build_url" +msgid "Build URL" +msgstr "Build URL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available > custom-http-headers" +msgid "Custom HTTP headers" +msgstr "Custom HTTP headers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available > git" +msgid "Git Repository URL" +msgstr "Git Repository URL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :available > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :primary" +msgid "Primary" +msgstr "Primary" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :primary > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :primary > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :adapter" +msgid "Adapter" +msgstr "Adapter" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :adapter > :ssl_options" +msgid "SSL Options" +msgstr "SSL Options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :adapter > :ssl_options > :versions" +msgid "Versions" +msgstr "Versions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :proxy_url" +msgid "Proxy URL" +msgstr "Proxy URL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :user_agent" +msgid "User agent" +msgstr "User agent" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http_security > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http_security > :referrer_policy" +msgid "Referrer policy" +msgstr "Referrer policy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http_security > :report_uri" +msgid "Report URI" +msgstr "Report URI" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http_security > :sts" +msgid "STS" +msgstr "STS" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http_security > :sts_max_age" +msgid "STS max age" +msgstr "STS max age" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :account_activation_required" +msgid "Account activation required" +msgstr "Account activation required" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :account_approval_required" +msgid "Account approval required" +msgstr "Account approval required" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :account_field_name_length" +msgid "Account field name length" +msgstr "Account field name length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :account_field_value_length" +msgid "Account field value length" +msgstr "Account field value length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :allow_relay" +msgid "Allow relay" +msgstr "Allow relay" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :allowed_post_formats" +msgid "Allowed post formats" +msgstr "Allowed post formats" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :attachment_links" +msgid "Attachment links" +msgstr "Attachment links" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :autofollowed_nicknames" +msgid "Autofollowed nicknames" +msgstr "Autofollowed nicknames" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :autofollowing_nicknames" +msgid "Autofollowing nicknames" +msgstr "Autofollowing nicknames" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :avatar_upload_limit" +msgid "Avatar upload limit" +msgstr "Avatar upload limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :background_upload_limit" +msgid "Background upload limit" +msgstr "Background upload limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :banner_upload_limit" +msgid "Banner upload limit" +msgstr "Banner upload limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :cleanup_attachments" +msgid "Cleanup attachments" +msgstr "Cleanup attachments" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :description" +msgid "Description" +msgstr "Description" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :email" +msgid "Admin Email Address" +msgstr "Admin Email Address" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :extended_nickname_format" +msgid "Extended nickname format" +msgstr "Extended nickname format" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :external_user_synchronization" +msgid "External user synchronization" +msgstr "External user synchronization" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :federating" +msgid "Federating" +msgstr "Federating" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :federation_incoming_replies_max_depth" +msgid "Fed. incoming replies max depth" +msgstr "Fed. incoming replies max depth" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :federation_reachability_timeout_days" +msgid "Fed. reachability timeout days" +msgstr "Fed. reachability timeout days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :healthcheck" +msgid "Healthcheck" +msgstr "Healthcheck" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :instance_thumbnail" +msgid "Instance thumbnail" +msgstr "Instance thumbnail" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :invites_enabled" +msgid "Invites enabled" +msgstr "Invites enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :limit" +msgid "Limit" +msgstr "Limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :limit_to_local_content" +msgid "Limit to local content" +msgstr "Limit to local content" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :max_account_fields" +msgid "Max account fields" +msgstr "Max account fields" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :max_pinned_statuses" +msgid "Max pinned statuses" +msgstr "Max pinned statuses" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :max_remote_account_fields" +msgid "Max remote account fields" +msgstr "Max remote account fields" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :max_report_comment_size" +msgid "Max report comment size" +msgstr "Max report comment size" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication" +msgid "Multi factor authentication" +msgstr "Multi factor authentication" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes" +msgid "Backup codes" +msgstr "Backup codes" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :length" +msgid "Length" +msgstr "Length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :number" +msgid "Number" +msgstr "Number" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp" +msgid "TOTP settings" +msgstr "TOTP settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp > :digits" +msgid "Digits" +msgstr "Digits" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp > :period" +msgid "Period" +msgstr "Period" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :notify_email" +msgid "Sender Email Address" +msgstr "Sender Email Address" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :poll_limits" +msgid "Poll limits" +msgstr "Poll limits" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :poll_limits > :max_expiration" +msgid "Max expiration" +msgstr "Max expiration" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :poll_limits > :max_option_chars" +msgid "Max option chars" +msgstr "Max option chars" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :poll_limits > :max_options" +msgid "Max options" +msgstr "Max options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :poll_limits > :min_expiration" +msgid "Min expiration" +msgstr "Min expiration" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :privileged_staff" +msgid "Privileged staff" +msgstr "Privileged staff" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :profile_directory" +msgid "Profile directory" +msgstr "Profile directory" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :public" +msgid "Public" +msgstr "Public" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :quarantined_instances" +msgid "Quarantined instances" +msgstr "Quarantined instances" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :registration_reason_length" +msgid "Registration reason length" +msgstr "Registration reason length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :registrations_open" +msgid "Registrations open" +msgstr "Registrations open" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :remote_limit" +msgid "Remote limit" +msgstr "Remote limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :remote_post_retention_days" +msgid "Remote post retention days" +msgstr "Remote post retention days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :safe_dm_mentions" +msgid "Safe DM mentions" +msgstr "Safe DM mentions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :show_reactions" +msgid "Show reactions" +msgstr "Show reactions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :skip_thread_containment" +msgid "Skip thread containment" +msgstr "Skip thread containment" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :static_dir" +msgid "Static dir" +msgstr "Static dir" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :upload_limit" +msgid "Upload limit" +msgstr "Upload limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :user_bio_length" +msgid "User bio length" +msgstr "User bio length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :user_name_length" +msgid "User name length" +msgstr "User name length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instances_favicons > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :base" +msgid "Base" +msgstr "Base" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :host" +msgid "Host" +msgstr "Host" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :port" +msgid "Port" +msgstr "Port" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :ssl" +msgid "SSL" +msgstr "SSL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :sslopts" +msgid "SSL options" +msgstr "SSL options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :sslopts > :cacertfile" +msgid "Cacertfile" +msgstr "Cacertfile" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :sslopts > :verify" +msgid "Verify" +msgstr "Verify" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :tls" +msgid "TLS" +msgstr "TLS" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :tlsopts" +msgid "TLS options" +msgstr "TLS options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :tlsopts > :cacertfile" +msgid "Cacertfile" +msgstr "Cacertfile" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :tlsopts > :verify" +msgid "Verify" +msgstr "Verify" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:ldap > :uid" +msgid "UID" +msgstr "UID" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:majic_pool > :size" +msgid "Size" +msgstr "Size" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:manifest > :background_color" +msgid "Background color" +msgstr "Background color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:manifest > :icons" +msgid "Icons" +msgstr "Icons" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:manifest > :theme_color" +msgid "Theme color" +msgstr "Theme color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:markup > :allow_fonts" +msgid "Allow fonts" +msgstr "Allow fonts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:markup > :allow_headings" +msgid "Allow headings" +msgstr "Allow headings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:markup > :allow_inline_images" +msgid "Allow inline images" +msgstr "Allow inline images" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:markup > :allow_tables" +msgid "Allow tables" +msgstr "Allow tables" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:markup > :scrub_policy" +msgid "Scrub policy" +msgstr "Scrub policy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_preview_proxy > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_preview_proxy > :image_quality" +msgid "Image quality" +msgstr "Image quality" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_preview_proxy > :min_content_length" +msgid "Min content length" +msgstr "Min content length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_preview_proxy > :thumbnail_max_height" +msgid "Thumbnail max height" +msgstr "Thumbnail max height" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_preview_proxy > :thumbnail_max_width" +msgid "Thumbnail max width" +msgstr "Thumbnail max width" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :base_url" +msgid "Base URL" +msgstr "Base URL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :invalidation" +msgid "Invalidation" +msgstr "Invalidation" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :invalidation > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :invalidation > :provider" +msgid "Provider" +msgstr "Provider" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :proxy_opts" +msgid "Advanced MediaProxy Options" +msgstr "Advanced MediaProxy Options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :max_body_length" +msgid "Max body length" +msgstr "Max body length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :max_read_duration" +msgid "Max read duration" +msgstr "Max read duration" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :redirect_on_failure" +msgid "Redirect on failure" +msgstr "Redirect on failure" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:media_proxy > :whitelist" +msgid "Whitelist" +msgstr "Whitelist" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:modules > :runtime_dir" +msgid "Runtime dir" +msgstr "Runtime dir" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf > :policies" +msgid "Policies" +msgstr "Policies" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf > :transparency" +msgid "MRF transparency" +msgstr "MRF transparency" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf > :transparency_exclusions" +msgid "MRF transparency exclusions" +msgstr "MRF transparency exclusions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_activity_expiration > :days" +msgid "Days" +msgstr "Days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_follow_bot > :follower_nickname" +msgid "Follower nickname" +msgstr "Follower nickname" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hashtag > :federated_timeline_removal" +msgid "Federated timeline removal" +msgstr "Federated timeline removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hashtag > :reject" +msgid "Reject" +msgstr "Reject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hashtag > :sensitive" +msgid "Sensitive" +msgstr "Sensitive" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hellthread > :delist_threshold" +msgid "Delist threshold" +msgstr "Delist threshold" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_hellthread > :reject_threshold" +msgid "Reject threshold" +msgstr "Reject threshold" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_keyword > :federated_timeline_removal" +msgid "Federated timeline removal" +msgstr "Federated timeline removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_keyword > :reject" +msgid "Reject" +msgstr "Reject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_keyword > :replace" +msgid "Replace" +msgstr "Replace" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_mention > :actors" +msgid "Actors" +msgstr "Actors" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_normalize_markup > :scrub_policy" +msgid "Scrub policy" +msgstr "Scrub policy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_object_age > :actions" +msgid "Actions" +msgstr "Actions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_object_age > :threshold" +msgid "Threshold" +msgstr "Threshold" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_rejectnonpublic > :allow_direct" +msgid "Allow direct" +msgstr "Allow direct" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_rejectnonpublic > :allow_followersonly" +msgid "Allow followers-only" +msgstr "Allow followers-only" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :accept" +msgid "Accept" +msgstr "Accept" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :avatar_removal" +msgid "Avatar removal" +msgstr "Avatar removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :banner_removal" +msgid "Banner removal" +msgstr "Banner removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :federated_timeline_removal" +msgid "Federated timeline removal" +msgstr "Federated timeline removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :followers_only" +msgid "Followers only" +msgstr "Followers only" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :media_nsfw" +msgid "Media NSFW" +msgstr "Media NSFW" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :media_removal" +msgid "Media removal" +msgstr "Media removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :reject" +msgid "Reject" +msgstr "Reject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :reject_deletes" +msgid "Reject deletes" +msgstr "Reject deletes" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :report_removal" +msgid "Report removal" +msgstr "Report removal" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_steal_emoji > :hosts" +msgid "Hosts" +msgstr "Hosts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_steal_emoji > :rejected_shortcodes" +msgid "Rejected shortcodes" +msgstr "Rejected shortcodes" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_steal_emoji > :size_limit" +msgid "Size limit" +msgstr "Size limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_subchain > :match_actor" +msgid "Match actor" +msgstr "Match actor" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_vocabulary > :accept" +msgid "Accept" +msgstr "Accept" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_vocabulary > :reject" +msgid "Reject" +msgstr "Reject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:oauth2 > :clean_expired_tokens" +msgid "Clean expired tokens" +msgstr "Clean expired tokens" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:oauth2 > :issue_new_refresh_token" +msgid "Issue new refresh token" +msgstr "Issue new refresh token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:oauth2 > :token_expires_in" +msgid "Token expires in" +msgstr "Token expires in" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:populate_hashtags_table > :fault_rate_allowance" +msgid "Fault rate allowance" +msgstr "Fault rate allowance" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:populate_hashtags_table > :sleep_interval_ms" +msgid "Sleep interval ms" +msgstr "Sleep interval ms" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :app_account_creation" +msgid "App account creation" +msgstr "App account creation" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :authentication" +msgid "Authentication" +msgstr "Authentication" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :relation_id_action" +msgid "Relation ID action" +msgstr "Relation ID action" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :relations_actions" +msgid "Relations actions" +msgstr "Relations actions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :search" +msgid "Search" +msgstr "Search" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :status_id_action" +msgid "Status ID action" +msgstr "Status ID action" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :statuses_actions" +msgid "Statuses actions" +msgstr "Statuses actions" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rate_limit > :timeline" +msgid "Timeline" +msgstr "Timeline" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities" +msgid "Activities" +msgstr "Activities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities > :local" +msgid "Local" +msgstr "Local" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities > :remote" +msgid "Remote" +msgstr "Remote" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles" +msgid "Profiles" +msgstr "Profiles" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles > :local" +msgid "Local" +msgstr "Local" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles > :remote" +msgid "Remote" +msgstr "Remote" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines" +msgid "Timelines" +msgstr "Timelines" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines > :federated" +msgid "Federated" +msgstr "Federated" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines > :local" +msgid "Local" +msgstr "Local" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media > :failure_backoff" +msgid "Failure backoff" +msgstr "Failure backoff" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media > :ignore_hosts" +msgid "Ignore hosts" +msgstr "Ignore hosts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media > :ignore_tld" +msgid "Ignore TLD" +msgstr "Ignore TLD" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media > :parsers" +msgid "Parsers" +msgstr "Parsers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:rich_media > :ttl_setters" +msgid "TTL setters" +msgstr "TTL setters" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:static_fe > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:streamer > :overflow_workers" +msgid "Overflow workers" +msgstr "Overflow workers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:streamer > :workers" +msgid "Workers" +msgstr "Workers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:uri_schemes > :valid_schemes" +msgid "Valid schemes" +msgstr "Valid schemes" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:user > :deny_follow_blocked" +msgid "Deny follow blocked" +msgstr "Deny follow blocked" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub" +msgid "Activity pub" +msgstr "Activity pub" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub_question" +msgid "Activity pub question" +msgstr "Activity pub question" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :direct_message" +msgid "Direct message" +msgstr "Direct message" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :direct_message > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :direct_message > :message" +msgid "Message" +msgstr "Message" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :direct_message > :sender_nickname" +msgid "Sender nickname" +msgstr "Sender nickname" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :email" +msgid "Email" +msgstr "Email" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :email > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :email > :html" +msgid "Html" +msgstr "Html" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :email > :sender" +msgid "Sender" +msgstr "Sender" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :email > :subject" +msgid "Subject" +msgstr "Subject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:welcome > :email > :text" +msgid "Text" +msgstr "Text" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:workers > :retries" +msgid "Retries" +msgstr "Retries" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" +msgid "Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" +msgstr "Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_running" +msgid "Max running" +msgstr "Max running" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_waiting" +msgid "Max waiting" +msgstr "Max waiting" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers" +msgid "Pleroma.Web.RichMedia.Helpers" +msgstr "Pleroma.Web.RichMedia.Helpers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_running" +msgid "Max running" +msgstr "Max running" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_waiting" +msgid "Max waiting" +msgstr "Max waiting" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :crontab" +msgid "Crontab" +msgstr "Crontab" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :log" +msgid "Log" +msgstr "Log" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues" +msgid "Queues" +msgstr "Queues" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :activity_expiration" +msgid "Activity expiration" +msgstr "Activity expiration" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :attachments_cleanup" +msgid "Attachments cleanup" +msgstr "Attachments cleanup" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :background" +msgid "Background" +msgstr "Background" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :backup" +msgid "Backup" +msgstr "Backup" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :federator_incoming" +msgid "Federator incoming" +msgstr "Federator incoming" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :federator_outgoing" +msgid "Federator outgoing" +msgstr "Federator outgoing" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :mailer" +msgid "Mailer" +msgstr "Mailer" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :scheduled_activities" +msgid "Scheduled activities" +msgstr "Scheduled activities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :transmogrifier" +msgid "Transmogrifier" +msgstr "Transmogrifier" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Oban > :queues > :web_push" +msgid "Web push" +msgstr "Web push" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Captcha > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Captcha > :method" +msgid "Method" +msgstr "Method" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Captcha > :seconds_valid" +msgid "Seconds valid" +msgstr "Seconds valid" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Captcha.Kocaptcha > :endpoint" +msgid "Endpoint" +msgstr "Endpoint" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > :adapter" +msgid "Adapter" +msgstr "Adapter" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > :enabled" +msgid "Mailer Enabled" +msgstr "Mailer Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:access_key" +msgid "AWS Access Key" +msgstr "AWS Access Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:region" +msgid "AWS Region" +msgstr "AWS Region" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:secret" +msgid "AWS Secret Key" +msgstr "AWS Secret Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Dyn-:api_key" +msgid "Dyn API Key" +msgstr "Dyn API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Gmail-:access_token" +msgid "GMail API Access Token" +msgstr "GMail API Access Token" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailgun-:api_key" +msgid "Mailgun API Key" +msgstr "Mailgun API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailgun-:domain" +msgid "Domain" +msgstr "Domain" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailjet-:api_key" +msgid "MailJet Public API Key" +msgstr "MailJet Public API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailjet-:secret" +msgid "MailJet Private API Key" +msgstr "MailJet Private API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mandrill-:api_key" +msgid "Mandrill API Key" +msgstr "Mandrill API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Postmark-:api_key" +msgid "Postmark API Key" +msgstr "Postmark API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:auth" +msgid "AUTH Mode" +msgstr "AUTH Mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:password" +msgid "Password" +msgstr "Password" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:port" +msgid "Port" +msgstr "Port" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:relay" +msgid "Relay" +msgstr "Relay" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:retries" +msgid "Retries" +msgstr "Retries" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:ssl" +msgid "Use SSL" +msgstr "Use SSL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:tls" +msgid "STARTTLS Mode" +msgstr "STARTTLS Mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:username" +msgid "Username" +msgstr "Username" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendgrid-:api_key" +msgid "SendGrid API Key" +msgstr "SendGrid API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:cmd_args" +msgid "Cmd args" +msgstr "Cmd args" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:cmd_path" +msgid "Cmd path" +msgstr "Cmd path" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:qmail" +msgid "Qmail compat mode" +msgstr "Qmail compat mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SocketLabs-:api_key" +msgid "SocketLabs API Key" +msgstr "SocketLabs API Key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SocketLabs-:server_id" +msgid "Server ID" +msgstr "Server ID" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SparkPost-:api_key" +msgid "SparkPost API key" +msgstr "SparkPost API key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SparkPost-:endpoint" +msgid "Endpoint" +msgstr "Endpoint" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.NewUsersDigestEmail > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :logo" +msgid "Logo" +msgstr "Logo" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling" +msgid "Styling" +msgstr "Styling" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :background_color" +msgid "Background color" +msgstr "Background color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :content_background_color" +msgid "Content background color" +msgstr "Content background color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :header_color" +msgid "Header color" +msgstr "Header color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :link_color" +msgid "Link color" +msgstr "Link color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :text_color" +msgid "Text color" +msgstr "Text color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :text_muted_color" +msgid "Text muted color" +msgstr "Text muted color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :class" +msgid "Class" +msgstr "Class" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :extra" +msgid "Extra" +msgstr "Extra" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :new_window" +msgid "New window" +msgstr "New window" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :rel" +msgid "Rel" +msgstr "Rel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :strip_prefix" +msgid "Strip prefix" +msgstr "Strip prefix" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :truncate" +msgid "Truncate" +msgstr "Truncate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Formatter > :validate_tld" +msgid "Validate tld" +msgstr "Validate tld" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :daily_user_limit" +msgid "Daily user limit" +msgstr "Daily user limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :total_user_limit" +msgid "Total user limit" +msgstr "Total user limit" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload > :base_url" +msgid "Base URL" +msgstr "Base URL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload > :filename_display_max_length" +msgid "Filename display max length" +msgstr "Filename display max length" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload > :filters" +msgid "Filters" +msgstr "Filters" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload > :link_name" +msgid "Link name" +msgstr "Link name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload > :proxy_remote" +msgid "Proxy remote" +msgstr "Proxy remote" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload > :uploader" +msgid "Uploader" +msgstr "Uploader" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename > :text" +msgid "Text" +msgstr "Text" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Upload.Filter.Mogrify > :args" +msgid "Args" +msgstr "Args" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.Local > :uploads" +msgid "Uploads" +msgstr "Uploads" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :bucket" +msgid "Bucket" +msgstr "Bucket" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :bucket_namespace" +msgid "Bucket namespace" +msgstr "Bucket namespace" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :streaming_enabled" +msgid "Streaming enabled" +msgstr "Streaming enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :truncated_namespace" +msgid "Truncated namespace" +msgstr "Truncated namespace" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.User > :email_blacklist" +msgid "Email blacklist" +msgstr "Email blacklist" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.User > :restricted_nicknames" +msgid "Restricted nicknames" +msgstr "Restricted nicknames" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.User.Backup > :limit_days" +msgid "Limit days" +msgstr "Limit days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.User.Backup > :purge_after_days" +msgid "Purge after days" +msgstr "Purge after days" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate > :strict" +msgid "Strict" +msgstr "Strict" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :headers" +msgid "Headers" +msgstr "Headers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :method" +msgid "Method" +msgstr "Method" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options" +msgid "Options" +msgstr "Options" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options > :params" +msgid "Params" +msgstr "Params" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :script_path" +msgid "Script path" +msgstr "Script path" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :url_format" +msgid "URL Format" +msgstr "URL Format" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata > :providers" +msgid "Providers" +msgstr "Providers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata > :unfurl_nsfw" +msgid "Unfurl NSFW" +msgstr "Unfurl NSFW" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :headers" +msgid "Headers" +msgstr "Headers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :proxies" +msgid "Proxies" +msgstr "Proxies" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :reserved" +msgid "Reserved" +msgstr "Reserved" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Preload > :providers" +msgid "Providers" +msgstr "Providers" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :min_lifetime" +msgid "Min lifetime" +msgstr "Min lifetime" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :web_push_encryption-:vapid_details > :private_key" +msgid "Private key" +msgstr "Private key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :web_push_encryption-:vapid_details > :public_key" +msgid "Public key" +msgstr "Public key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :web_push_encryption-:vapid_details > :subject" +msgid "Subject" +msgstr "Subject" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :authorized_fetch_mode" +msgid "Authorized fetch mode" +msgstr "Authorized fetch mode" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode" +msgid "Require HTTP signatures on AP fetches" +msgstr "Require HTTP signatures on AP fetches" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:activitypub > :max_collection_objects" +msgid "The maximum number of items to fetch from a remote collections. Setting this too low can lead to only getting partial collections, but too high and you can end up fetching far too many objects." +msgstr "" +"The maximum number of items to fetch from a remote collections. Setting this " +"too low can lead to only getting partial collections, but too high and you " +"can end up fetching far too many objects." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:argos_translate" +msgid "ArgosTranslate Settings." +msgstr "ArgosTranslate Settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :command_argos_translate" +msgid "command for `argos-translate`. Can be the command if it's in your PATH, or the full path to the file." +msgstr "" +"command for `argos-translate`. Can be the command if it's in your PATH, or " +"the full path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :command_argospm" +msgid "command for `argospm`. Can be the command if it's in your PATH, or the full path to the file." +msgstr "" +"command for `argospm`. Can be the command if it's in your PATH, or the full " +"path to the file." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:argos_translate > :strip_html" +msgid "Strip html from the post before translating it." +msgstr "Strip html from the post before translating it." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:deepl" +msgid "DeepL Settings." +msgstr "DeepL Settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:deepl > :api_key" +msgid "API key for DeepL" +msgstr "API key for DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:deepl > :tier" +msgid "API Tier" +msgstr "API Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations" +msgid "This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for pleroma_fe and masto_fe are configured. If you want to add your own configuration your settings all fields must be complete." +msgstr "" +"This form can be used to configure a keyword list that keeps the " +"configuration data for any kind of frontend. By default, settings for " +"pleroma_fe and masto_fe are configured. If you want to add your own " +"configuration your settings all fields must be complete." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe" +msgid "Settings for Masto FE" +msgstr "Settings for Masto FE" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe > :showInstanceSpecificPanel" +msgid "Whenether to show the instance's specific panel" +msgstr "Whenether to show the instance's specific panel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :conversationDisplay" +msgid "How to display conversations (linear or tree)" +msgstr "How to display conversations (linear or tree)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteFavicon" +msgid "Whether to hide the instance favicon from the navbar" +msgstr "Whether to hide the instance favicon from the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteName" +msgid "Whether to hide the site name from the navbar" +msgstr "Whether to hide the site name from the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :renderMisskeyMarkdown" +msgid "Whether to render Misskey-flavoured markdown" +msgstr "Whether to render Misskey-flavoured markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showNavShortcuts" +msgid "Whether to put extra navigation options on the navbar" +msgstr "Whether to put extra navigation options on the navbar" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showPanelNavShortcuts" +msgid "Whether to put timeline nav tabs on the top of the panel" +msgstr "Whether to put timeline nav tabs on the top of the panel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showWiderShortcuts" +msgid "Whether to add extra space between navbar icons" +msgstr "Whether to add extra space between navbar icons" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Whether to pause animated images until they're hovered on" +msgstr "Whether to pause animated images until they're hovered on" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon" +msgid "Mastodon frontend" +msgstr "Mastodon frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > name" +msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :mastodon > ref" +msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger" +msgid "Swagger API reference frontend" +msgstr "Swagger API reference frontend" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > enabled" +msgid "Whether to have this enabled at all" +msgstr "Whether to have this enabled at all" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > name" +msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Name of the installed frontend. Valid config must include both `Name` and " +"`Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:frontends > :swagger > ref" +msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values." +msgstr "" +"Reference of the installed frontend to be used. Valid config must include " +"both `Name` and `Reference` values." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :pool_size" +msgid "Number of concurrent outbound HTTP requests to allow. Default 50." +msgstr "Number of concurrent outbound HTTP requests to allow. Default 50." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :pool_timeout" +msgid "Timeout for initiating HTTP requests (in ms, default 5000)" +msgstr "Timeout for initiating HTTP requests (in ms, default 5000)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :proxy_url" +msgid "Proxy URL - of the format http://host:port. Advise setting in .exs instead of admin-fe due to this being set at boot-time." +msgstr "" +"Proxy URL - of the format http://host:port. Advise setting in .exs instead " +"of admin-fe due to this being set at boot-time." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:http > :receive_timeout" +msgid "Timeout for waiting on remote servers to respond to HTTP requests (in ms, default 15000)" +msgstr "" +"Timeout for waiting on remote servers to respond to HTTP requests (in ms, " +"default 15000)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :export_prometheus_metrics" +msgid "Enable prometheus metrics (at /api/v1/akkoma/metrics)" +msgstr "Enable prometheus metrics (at /api/v1/akkoma/metrics)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :languages" +msgid "Languages the instance uses" +msgstr "Languages the instance uses" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :local_bubble" +msgid "List of instances that make up your local bubble (closely-related instances). Used to populate the 'bubble' timeline (domain only)." +msgstr "" +"List of instances that make up your local bubble (closely-related instances)" +". Used to populate the 'bubble' timeline (domain only)." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :privileged_staff" +msgid "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses)" +msgstr "" +"Let moderators access sensitive data (e.g. updating user credentials, get " +"password reset token, delete users, index and read private statuses)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :public" +msgid "Switching this on will allow unauthenticated users access to all public resources on your instance Switching it off is useful for disabling the Local Timeline and The Whole Known Network. Note: when setting to `false`, please also check `:restrict_unauthenticated` setting." +msgstr "" +"Switching this on will allow unauthenticated users access to all public " +"resources on your instance Switching it off is useful for disabling the " +"Local Timeline and The Whole Known Network. Note: when setting to `false`, " +"please also check `:restrict_unauthenticated` setting." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :quarantined_instances" +msgid "(Deprecated, will be removed in next release) List of ActivityPub instances where activities will not be sent, and the reason for doing so" +msgstr "" +"(Deprecated, will be removed in next release) List of ActivityPub instances " +"where activities will not be sent, and the reason for doing so" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo" +msgid "Control favicons for instances" +msgstr "Control favicons for instances" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instances_nodeinfo > :enabled" +msgid "Allow/disallow getting instance nodeinfo" +msgstr "Allow/disallow getting instance nodeinfo" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:libre_translate" +msgid "LibreTranslate Settings." +msgstr "LibreTranslate Settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :api_key" +msgid "API key for libretranslate" +msgstr "API key for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:libre_translate > :url" +msgid "URL for libretranslate" +msgstr "URL for libretranslate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:manifest > :background_color" +msgid "Describe the background color of the app - this is only used for mastodon-fe" +msgstr "" +"Describe the background color of the app - this is only used for mastodon-fe" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:manifest > :theme_color" +msgid "Describe the theme color of the app - this is only used for mastodon-fe" +msgstr "Describe the theme color of the app - this is only used for mastodon-fe" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "Obfuscate domains in MRF transparency. This is useful if the domain you're blocking contains words you don't want displayed, but still want to disclose the MRF settings." +msgstr "" +"Obfuscate domains in MRF transparency. This is useful if the domain you're " +"blocking contains words you don't want displayed, but still want to disclose " +"the MRF settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote" +msgid "Force quote post URLs inline" +msgstr "Force quote post URLs inline" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix before the link" +msgstr "Prefix before the link" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:mrf_simple > :handle_threads" +msgid "Enable to filter replies to threads based from their originating instance, using the reject and accept rules" +msgstr "" +"Enable to filter replies to threads based from their originating instance, " +"using the reject and accept rules" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated" +msgid "Disallow unauthenticated viewing of timelines, user profiles and statuses." +msgstr "" +"Disallow unauthenticated viewing of timelines, user profiles and statuses." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities" +msgid "Settings for posts." +msgstr "Settings for posts." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :local" +msgid "Disallow viewing local posts." +msgstr "Disallow viewing local posts." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :remote" +msgid "Disallow viewing remote posts." +msgstr "Disallow viewing remote posts." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :local" +msgid "Disallow viewing local user profiles." +msgstr "Disallow viewing local user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :remote" +msgid "Disallow viewing remote user profiles." +msgstr "Disallow viewing remote user profiles." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :federated" +msgid "Disallow viewing the whole known network timeline." +msgstr "Disallow viewing the whole known network timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :local" +msgid "Disallow viewing the public timeline." +msgstr "Disallow viewing the public timeline." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:translator" +msgid "Translation Settings" +msgstr "Translation Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:translator > :enabled" +msgid "Is translation enabled?" +msgstr "Is translation enabled?" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:translator > :module" +msgid "Translation module." +msgstr "Translation module." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:workers > :timeout" +msgid "Timeout for jobs, per `Oban` queue, in ms" +msgstr "Timeout for jobs, per `Oban` queue, in ms" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search" +msgid "General search settings." +msgstr "General search settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search > :module" +msgid "Selected search module." +msgstr "Selected search module." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch settings." +msgstr "Elasticsearch settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" +msgstr "" +"The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "The indices to set up in Elasticsearch" +msgstr "The indices to set up in Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities" +msgid "Config for the index to use for activities" +msgstr "Config for the index to use for activities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_page_size" +msgid "Size for bulk put requests, mostly used on building the index" +msgstr "Size for bulk put requests, mostly used on building the index" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_wait_interval" +msgid "Time to wait between bulk put requests (in ms)" +msgstr "Time to wait between bulk put requests (in ms)" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :settings" +msgid "Path to the file containing index settings for the activities index. Should contain a mapping." +msgstr "" +"Path to the file containing index settings for the activities index. Should " +"contain a mapping." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :sources" +msgid "The internal types to use for this index" +msgstr "The internal types to use for this index" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :store" +msgid "The internal store module" +msgstr "The internal store module" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "The JSON module used to encode/decode when communicating with Elasticsearch" +msgstr "" +"The JSON module used to encode/decode when communicating with Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Password to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Elasticsearch URL." +msgstr "Elasticsearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username to connect to ES. Set to nil if your cluster is unauthenticated." +msgstr "" +"Username to connect to ES. Set to nil if your cluster is unauthenticated." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch" +msgid "Meilisearch settings." +msgstr "Meilisearch settings." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :initial_indexing_chunk_size" +msgid "Amount of posts in a batch when running the initial indexing operation. Should probably not be more than 100000 since there's a limit on maximum insert size" +msgstr "" +"Amount of posts in a batch when running the initial indexing operation. " +"Should probably not be more than 100000 since there's a limit on maximum " +"insert size" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key for meilisearch authentication, or `nil` to disable private key authentication." +msgstr "" +"Private key for meilisearch authentication, or `nil` to disable private key " +"authentication." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Meilisearch URL." +msgstr "Meilisearch URL." + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Specific provider to hand out themes to instances that scrape index.html" +msgstr "" +"Specific provider to hand out themes to instances that scrape index.html" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "The 'accent color' of the instance, used in places like misskey's instance ticker" +msgstr "" +"The 'accent color' of the instance, used in places like misskey's instance " +"ticker" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:activitypub > :max_collection_objects" +msgid "Max collection objects" +msgstr "Max collection objects" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:argos_translate" +msgid "Argos translate" +msgstr "Argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argos_translate" +msgid "Command argos translate" +msgstr "Command argos translate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :command_argospm" +msgid "Command argospm" +msgstr "Command argospm" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:argos_translate > :strip_html" +msgid "Strip html" +msgstr "Strip html" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:deepl" +msgid "DeepL" +msgstr "DeepL" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:deepl > :api_key" +msgid "Api key" +msgstr "Api key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:deepl > :tier" +msgid "Tier" +msgstr "Tier" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe" +msgid "Masto FE" +msgstr "Masto FE" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe > :showInstanceSpecificPanel" +msgid "Show instance specific panel" +msgstr "Show instance specific panel" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :conversationDisplay" +msgid "Conversation display style" +msgstr "Conversation display style" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteFavicon" +msgid "Hide site favicon" +msgstr "Hide site favicon" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteName" +msgid "Hide site name" +msgstr "Hide site name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :renderMisskeyMarkdown" +msgid "Render misskey markdown" +msgstr "Render misskey markdown" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showNavShortcuts" +msgid "Show navbar shortcuts" +msgstr "Show navbar shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showPanelNavShortcuts" +msgid "Show timeline panel nav shortcuts" +msgstr "Show timeline panel nav shortcuts" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showWiderShortcuts" +msgid "Increase navbar shortcut spacing" +msgstr "Increase navbar shortcut spacing" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs" +msgid "Stop Gifs" +msgstr "Stop Gifs" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon" +msgid "Mastodon" +msgstr "Mastodon" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :mastodon > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger" +msgid "Swagger" +msgstr "Swagger" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > name" +msgid "Name" +msgstr "Name" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:frontends > :swagger > ref" +msgid "Reference" +msgstr "Reference" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :pool_size" +msgid "Pool size" +msgstr "Pool size" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :pool_timeout" +msgid "HTTP Pool Request Timeout" +msgstr "HTTP Pool Request Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:http > :receive_timeout" +msgid "HTTP Receive Timeout" +msgstr "HTTP Receive Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :export_prometheus_metrics" +msgid "Export prometheus metrics" +msgstr "Export prometheus metrics" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :languages" +msgid "Languages" +msgstr "Languages" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instance > :local_bubble" +msgid "Local bubble" +msgstr "Local bubble" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo" +msgid "Instances nodeinfo" +msgstr "Instances nodeinfo" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:instances_nodeinfo > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:libre_translate" +msgid "Libre translate" +msgstr "Libre translate" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :api_key" +msgid "Api key" +msgstr "Api key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:libre_translate > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf > :transparency_obfuscate_domains" +msgid "MRF domain obfuscation" +msgstr "MRF domain obfuscation" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote" +msgid "MRF Inline Quote" +msgstr "MRF Inline Quote" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_inline_quote > :prefix" +msgid "Prefix" +msgstr "Prefix" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:mrf_simple > :handle_threads" +msgid "Apply to entire threads" +msgstr "Apply to entire threads" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:translator" +msgid "Translator" +msgstr "Translator" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:translator > :enabled" +msgid "Enabled" +msgstr "Enabled" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:translator > :module" +msgid "Module" +msgstr "Module" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-:workers > :timeout" +msgid "Timeout" +msgstr "Timeout" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search" +msgid "Search" +msgstr "Search" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search > :module" +msgid "Module" +msgstr "Module" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster" +msgid "Elasticsearch" +msgstr "Elasticsearch" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api" +msgid "Api" +msgstr "Api" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes" +msgid "Indexes" +msgstr "Indexes" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities" +msgid "Activities" +msgstr "Activities" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_page_size" +msgid "Bulk page size" +msgstr "Bulk page size" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_wait_interval" +msgid "Bulk wait interval" +msgstr "Bulk wait interval" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :settings" +msgid "Settings" +msgstr "Settings" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :sources" +msgid "Sources" +msgstr "Sources" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :store" +msgid "Store" +msgstr "Store" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library" +msgid "Json library" +msgstr "Json library" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password" +msgid "Password" +msgstr "Password" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username" +msgid "Username" +msgstr "Username" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch" +msgid "Pleroma.Search.Meilisearch" +msgstr "Pleroma.Search.Meilisearch" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :initial_indexing_chunk_size" +msgid "Initial indexing chunk size" +msgstr "Initial indexing chunk size" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :private_key" +msgid "Private key" +msgstr "Private key" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :url" +msgid "Url" +msgstr "Url" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme" +msgid "Pleroma.Web.Metadata.Providers.Theme" +msgstr "Pleroma.Web.Metadata.Providers.Theme" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color" +msgid "Theme color" +msgstr "Theme color" + +#: lib/pleroma/docs/translator.ex:5 +#, elixir-autogen, elixir-format, fuzzy +msgctxt "config description at :pleroma-:instance > :healthcheck" +msgid "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" +msgstr "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`" diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/errors.po b/priv/gettext/zh_Hans/LC_MESSAGES/errors.po index ecf1dab6b..772ddd13a 100644 --- a/priv/gettext/zh_Hans/LC_MESSAGES/errors.po +++ b/priv/gettext/zh_Hans/LC_MESSAGES/errors.po @@ -3,16 +3,16 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-09-20 13:18+0000\n" -"PO-Revision-Date: 2020-12-14 06:00+0000\n" -"Last-Translator: shironeko \n" -"Language-Team: Chinese (Simplified) \n" +"PO-Revision-Date: 2023-02-26 08:57+0000\n" +"Last-Translator: SevicheCC \n" +"Language-Team: Chinese (Simplified) \n" "Language: zh_Hans\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.0.4\n" +"X-Generator: Weblate 4.14\n" ## This file is a PO Template file. ## @@ -146,7 +146,7 @@ msgid "Cannot post an empty status without attachments" msgstr "无法发送空白且不包含附件的状态" #: lib/pleroma/web/common_api/utils.ex:511 -#, elixir-format, fuzzy +#, elixir-format msgid "Comment must be up to %{max_size} characters" msgstr "评论最多可使用 %{max_size} 字符" @@ -250,7 +250,7 @@ msgstr "没有该对话" #: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:388 #: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:414 lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:456 -#, elixir-format, fuzzy +#, elixir-format msgid "No such permission_group" msgstr "没有该权限组" @@ -297,7 +297,7 @@ msgid "This resource requires authentication." msgstr "该资源需要认证。" #: lib/pleroma/plugs/rate_limiter/rate_limiter.ex:206 -#, elixir-format, fuzzy +#, elixir-format msgid "Throttled" msgstr "节流了" @@ -380,7 +380,7 @@ msgid "Failed" msgstr "失败" #: lib/pleroma/web/oauth/oauth_controller.ex:410 -#, elixir-format, fuzzy +#, elixir-format msgid "Failed to authenticate: %{message}." msgstr "认证失败:%{message}。" @@ -406,7 +406,7 @@ msgid "Invalid Username/Password" msgstr "无效的用户名/密码" #: lib/pleroma/web/twitter_api/twitter_api.ex:118 -#, elixir-format, fuzzy +#, elixir-format msgid "Invalid answer data" msgstr "无效的回答数据" @@ -437,7 +437,7 @@ msgid "Unsupported OAuth provider: %{provider}." msgstr "不支持的 OAuth 提供者:%{provider}。" #: lib/pleroma/uploaders/uploader.ex:72 -#, elixir-format, fuzzy +#, elixir-format msgid "Uploader callback timeout" msgstr "上传回复超时" @@ -452,7 +452,7 @@ msgid "CAPTCHA Error" msgstr "验证码错误" #: lib/pleroma/web/common_api/common_api.ex:290 -#, elixir-format, fuzzy +#, elixir-format msgid "Could not add reaction emoji" msgstr "无法添加表情反应" diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/posix_errors.po b/priv/gettext/zh_Hans/LC_MESSAGES/posix_errors.po new file mode 100644 index 000000000..6143178e3 --- /dev/null +++ b/priv/gettext/zh_Hans/LC_MESSAGES/posix_errors.po @@ -0,0 +1,163 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-23 12:40+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.7.2\n" + +## This file is a PO Template file. +## +## `msgid`s here are often extracted from source code. +## Add new translations manually only if they're dynamic +## translations that can't be statically extracted. +## +## Run `mix gettext.extract` to bring this file up to +## date. Leave `msgstr`s empty as changing them here as no +## effect: edit them in PO (`.po`) files instead. +msgid "eperm" +msgstr "" + +msgid "eacces" +msgstr "" + +msgid "eagain" +msgstr "" + +msgid "ebadf" +msgstr "" + +msgid "ebadmsg" +msgstr "" + +msgid "ebusy" +msgstr "" + +msgid "edeadlk" +msgstr "" + +msgid "edeadlock" +msgstr "" + +msgid "edquot" +msgstr "" + +msgid "eexist" +msgstr "" + +msgid "efault" +msgstr "" + +msgid "efbig" +msgstr "" + +msgid "eftype" +msgstr "" + +msgid "eintr" +msgstr "" + +msgid "einval" +msgstr "" + +msgid "eio" +msgstr "" + +msgid "eisdir" +msgstr "" + +msgid "eloop" +msgstr "" + +msgid "emfile" +msgstr "" + +msgid "emlink" +msgstr "" + +msgid "emultihop" +msgstr "" + +msgid "enametoolong" +msgstr "" + +msgid "enfile" +msgstr "" + +msgid "enobufs" +msgstr "" + +msgid "enodev" +msgstr "" + +msgid "enolck" +msgstr "" + +msgid "enolink" +msgstr "" + +msgid "enoent" +msgstr "" + +msgid "enomem" +msgstr "" + +msgid "enospc" +msgstr "" + +msgid "enosr" +msgstr "" + +msgid "enostr" +msgstr "" + +msgid "enosys" +msgstr "" + +msgid "enotblk" +msgstr "" + +msgid "enotdir" +msgstr "" + +msgid "enotsup" +msgstr "" + +msgid "enxio" +msgstr "" + +msgid "eopnotsupp" +msgstr "" + +msgid "eoverflow" +msgstr "" + +msgid "epipe" +msgstr "" + +msgid "erange" +msgstr "" + +msgid "erofs" +msgstr "" + +msgid "espipe" +msgstr "" + +msgid "esrch" +msgstr "" + +msgid "estale" +msgstr "" + +msgid "etxtbsy" +msgstr "" + +msgid "exdev" +msgstr "" diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/static_pages.po b/priv/gettext/zh_Hans/LC_MESSAGES/static_pages.po new file mode 100644 index 000000000..cd9daf110 --- /dev/null +++ b/priv/gettext/zh_Hans/LC_MESSAGES/static_pages.po @@ -0,0 +1,601 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-23 12:41+0000\n" +"PO-Revision-Date: 2023-02-24 13:57+0000\n" +"Last-Translator: SevicheCC \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_Hans\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.14\n" + +## This file is a PO Template file. +## +## "msgid"s here are often extracted from source code. +## Add new translations manually only if they're dynamic +## translations that can't be statically extracted. +## +## Run "mix gettext.extract" to bring this file up to +## date. Leave "msgstr"s empty as changing them here as no +## effect: edit them in PO (.po) files instead. +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:9 +#, elixir-autogen, elixir-format +msgctxt "remote follow authorization button" +msgid "Authorize" +msgstr "批准" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "remote follow error" +msgid "Error fetching user" +msgstr "无法获取用户信息" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "remote follow header" +msgid "Remote follow" +msgstr "跨站关注" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "placeholder text for auth code entry" +msgid "Authentication code" +msgstr "验证码" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:10 +#, elixir-autogen, elixir-format +msgctxt "placeholder text for password entry" +msgid "Password" +msgstr "密码" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "placeholder text for username entry" +msgid "Username" +msgstr "用户名" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:13 +#, elixir-autogen, elixir-format +msgctxt "remote follow authorization button for login" +msgid "Authorize" +msgstr "授权" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:12 +#, elixir-autogen, elixir-format +msgctxt "remote follow authorization button for mfa" +msgid "Authorize" +msgstr "授权" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/followed.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "remote follow error" +msgid "Error following account" +msgstr "无法关注账户" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "remote follow header, need login" +msgid "Log in to follow" +msgstr "登录以关注" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "remote follow mfa header" +msgid "Two-factor authentication" +msgstr "双因素身份验证" + +#: lib/pleroma/web/templates/twitter_api/remote_follow/followed.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "remote follow success" +msgid "Account followed!" +msgstr "已关注该账号!" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:7 +#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:7 +#, elixir-autogen, elixir-format +msgctxt "placeholder text for account id" +msgid "Your account ID, e.g. lain@quitter.se" +msgstr "你的账号ID,比如:lain@quitter.se" + +#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "remote follow authorization button for following with a remote account" +msgid "Follow" +msgstr "关注" + +#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "remote follow error" +msgid "Error: %{error}" +msgstr "错误:%{error}" + +#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "remote follow header" +msgid "Remotely follow %{nickname}" +msgstr "远程关注 %{nickname}" + +#: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:12 +#, elixir-autogen, elixir-format +msgctxt "password reset button" +msgid "Reset" +msgstr "重制" + +#: lib/pleroma/web/templates/twitter_api/password/reset_failed.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "password reset failed homepage link" +msgid "Homepage" +msgstr "主页" + +#: lib/pleroma/web/templates/twitter_api/password/reset_failed.html.eex:1 +#, elixir-autogen, elixir-format +msgctxt "password reset failed message" +msgid "Password reset failed" +msgstr "密码重置失败" + +#: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "password reset form confirm password prompt" +msgid "Confirmation" +msgstr "确认" + +#: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "password reset form password prompt" +msgid "Password" +msgstr "密码" + +#: lib/pleroma/web/templates/twitter_api/password/invalid_token.html.eex:1 +#, elixir-autogen, elixir-format +msgctxt "password reset invalid token message" +msgid "Invalid Token" +msgstr "无效 Token" + +#: lib/pleroma/web/templates/twitter_api/password/reset_success.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "password reset successful homepage link" +msgid "Homepage" +msgstr "主页" + +#: lib/pleroma/web/templates/twitter_api/password/reset_success.html.eex:1 +#, elixir-autogen, elixir-format +msgctxt "password reset successful message" +msgid "Password changed!" +msgstr "密码已修改!" + +#: lib/pleroma/web/templates/feed/feed/tag.atom.eex:15 +#: lib/pleroma/web/templates/feed/feed/tag.rss.eex:7 +#, elixir-autogen, elixir-format +msgctxt "tag feed description" +msgid "These are public toots tagged with #%{tag}. You can interact with them if you have an account anywhere in the fediverse." +msgstr "这些是带有 #%{tag} " +"标签的公开帖文。如果你在联邦宇宙的任何地方有账户,你可以与它们进行交互。" + +#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:3 +#, elixir-autogen, elixir-format +msgctxt "oauth authorization exists page title" +msgid "Authorization exists" +msgstr "已存在授权" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:37 +#, elixir-autogen, elixir-format +msgctxt "oauth authorize approve button" +msgid "Approve" +msgstr "允许" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:35 +#, elixir-autogen, elixir-format +msgctxt "oauth authorize cancel button" +msgid "Cancel" +msgstr "取消" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:26 +#, elixir-autogen, elixir-format +msgctxt "oauth authorize message" +msgid "Application %{client_name} is requesting access to your account." +msgstr "应用程序 %{client_name} 正在请求访问您的帐户。" + +#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:3 +#, elixir-autogen, elixir-format +msgctxt "oauth authorized page title" +msgid "Successfully authorized" +msgstr "授权成功" + +#: lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex:1 +#, elixir-autogen, elixir-format +msgctxt "oauth external provider page title" +msgid "Sign in with external provider" +msgstr "使用外部服务进行登录" + +#: lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex:13 +#, elixir-autogen, elixir-format +msgctxt "oauth external provider sign in button" +msgid "Sign in with %{strategy}" +msgstr "用 %{strategy} 登录" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:59 +#, elixir-autogen, elixir-format +msgctxt "oauth login button" +msgid "Log In" +msgstr "登录" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:56 +#, elixir-autogen, elixir-format +msgctxt "oauth login password prompt" +msgid "Password" +msgstr "密码" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:52 +#, elixir-autogen, elixir-format +msgctxt "oauth login username prompt" +msgid "Username" +msgstr "用户名" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:44 +#, elixir-autogen, elixir-format +msgctxt "oauth register nickname prompt" +msgid "Pleroma Handle" +msgstr "Pleroma账号" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:42 +#, elixir-autogen, elixir-format +msgctxt "oauth register nickname unchangeable warning" +msgid "Choose carefully! You won't be able to change this later. You will be able to change your display name, though." +msgstr "选择时要慎重!您以后将无法更改此项。不过您可以更改您的显示名称。" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:18 +#, elixir-autogen, elixir-format +msgctxt "oauth register page email prompt" +msgid "Email" +msgstr "邮箱" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:10 +#, elixir-autogen, elixir-format +msgctxt "oauth register page fill form prompt" +msgid "If you'd like to register a new account, please provide the details below." +msgstr "如果您想注册一个新账户,请提供以下细节。" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:35 +#, elixir-autogen, elixir-format +msgctxt "oauth register page login button" +msgid "Proceed as existing user" +msgstr "以现有用户身份进行" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:31 +#, elixir-autogen, elixir-format +msgctxt "oauth register page login password prompt" +msgid "Password" +msgstr "密码" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:24 +#, elixir-autogen, elixir-format +msgctxt "oauth register page login prompt" +msgid "Alternatively, sign in to connect to existing account." +msgstr "或者登录后连接到现有账户。" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:27 +#, elixir-autogen, elixir-format +msgctxt "oauth register page login username prompt" +msgid "Name or email" +msgstr "名字或者邮箱" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:14 +#, elixir-autogen, elixir-format +msgctxt "oauth register page nickname prompt" +msgid "Nickname" +msgstr "昵称" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:22 +#, elixir-autogen, elixir-format +msgctxt "oauth register page register button" +msgid "Proceed as new user" +msgstr "以新用户身份进行" + +#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "oauth register page title" +msgid "Registration Details" +msgstr "注册细节" + +#: lib/pleroma/web/templates/o_auth/o_auth/_scopes.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "oauth scopes message" +msgid "The following permissions will be granted" +msgstr "将授予以下权限" + +#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:6 +#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:6 +#, elixir-autogen, elixir-format +msgctxt "oauth token code message" +msgid "Token code is
%{token}" +msgstr "Token 码是
%{token}" + +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:14 +#, elixir-autogen, elixir-format +msgctxt "mfa auth code prompt" +msgid "Authentication code" +msgstr "授权码" + +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:9 +#, elixir-autogen, elixir-format +msgctxt "mfa auth page title" +msgid "Two-factor authentication" +msgstr "双因素身份验证" + +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:25 +#, elixir-autogen, elixir-format +msgctxt "mfa auth page use recovery code link" +msgid "Enter a two-factor recovery code" +msgstr "输入一个双因素恢复的恢复代码" + +#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:22 +#, elixir-autogen, elixir-format +msgctxt "mfa auth verify code button" +msgid "Verify" +msgstr "认证" + +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:9 +#, elixir-autogen, elixir-format +msgctxt "mfa recover page title" +msgid "Two-factor recovery" +msgstr "双因素恢复" + +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:14 +#, elixir-autogen, elixir-format +msgctxt "mfa recover recovery code prompt" +msgid "Recovery code" +msgstr "恢复码" + +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:25 +#, elixir-autogen, elixir-format +msgctxt "mfa recover use 2fa code link" +msgid "Enter a two-factor code" +msgstr "输入一个双重因素验证码" + +#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:22 +#, elixir-autogen, elixir-format +msgctxt "mfa recover verify recovery code button" +msgid "Verify" +msgstr "验证" + +#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:42 +#, elixir-autogen, elixir-format +msgctxt "static fe profile page remote follow button" +msgid "Remote follow" +msgstr "跨站关注" + +#: lib/pleroma/web/templates/email/digest.html.eex:163 +#, elixir-autogen, elixir-format +msgctxt "digest email header line" +msgid "Hey %{nickname}, here is what you've missed!" +msgstr "嗨 %{nickname},这是你错过的一些东西!" + +#: lib/pleroma/web/templates/email/digest.html.eex:544 +#, elixir-autogen, elixir-format +msgctxt "digest email receiver address" +msgid "The email address you are subscribed as is %{email}. " +msgstr "" +"您订阅的电子邮件地址是 %{email}。 " + +#: lib/pleroma/web/templates/email/digest.html.eex:538 +#, elixir-autogen, elixir-format +msgctxt "digest email sending reason" +msgid "You have received this email because you have signed up to receive digest emails from %{instance} Pleroma instance." +msgstr "您之所以会收到来自%{instance} Pleroma " +"实例的邮件摘要,是因为您已经注册了该服务实例。" + +#: lib/pleroma/web/templates/email/digest.html.eex:547 +#, elixir-autogen, elixir-format +msgctxt "digest email unsubscribe action" +msgid "To unsubscribe, please go %{here}." +msgstr "取消订阅,请点击 %{here}." + +#: lib/pleroma/web/templates/email/digest.html.eex:547 +#, elixir-autogen, elixir-format +msgctxt "digest email unsubscribe action link text" +msgid "here" +msgstr "这里" + +#: lib/pleroma/web/templates/mailer/subscription/unsubscribe_failure.html.eex:1 +#, elixir-autogen, elixir-format +msgctxt "mailer unsubscribe failed message" +msgid "UNSUBSCRIBE FAILURE" +msgstr "取消订阅失败" + +#: lib/pleroma/web/templates/mailer/subscription/unsubscribe_success.html.eex:1 +#, elixir-autogen, elixir-format +msgctxt "mailer unsubscribe successful message" +msgid "UNSUBSCRIBE SUCCESSFUL" +msgstr "成功取消订阅" + +#: lib/pleroma/web/templates/email/digest.html.eex:385 +#, elixir-format +msgctxt "new followers count header" +msgid "%{count} New Follower" +msgid_plural "%{count} New Followers" +msgstr[0] "%{count} 个新关注者" + +#: lib/pleroma/emails/user_email.ex:384 +#, elixir-autogen, elixir-format +msgctxt "account archive email subject" +msgid "Your account archive is ready" +msgstr "您的账户档案已经准备好了" + +#: lib/pleroma/emails/user_email.ex:188 +#, elixir-autogen, elixir-format +msgctxt "approval pending email body" +msgid "

Awaiting Approval

\n

Your account at %{instance_name} is being reviewed by staff. You will receive another email once your account is approved.

\n" +msgstr "" +"

正在等待批准

\n" +"

您在%{instance_name}的账户正在被工作人员审查。一旦您的账户被批准通过,您" +"将收到另一封电子邮件。

\n" + +#: lib/pleroma/emails/user_email.ex:202 +#, elixir-autogen, elixir-format +msgctxt "approval pending email subject" +msgid "Your account is awaiting approval" +msgstr "您的账户正在等待审批" + +#: lib/pleroma/emails/user_email.ex:158 +#, elixir-autogen, elixir-format +msgctxt "confirmation email body" +msgid "

Thank you for registering on %{instance_name}

\n

Email confirmation is required to activate the account.

\n

Please click the following link to activate your account.

\n" +msgstr "" +"

感谢注册%{instance_name}

\n" +"

需要电子邮件确认才能激活该账户

\n" +"

请点击以下链接以 确认您的账户

\n" + +#: lib/pleroma/emails/user_email.ex:174 +#, elixir-autogen, elixir-format +msgctxt "confirmation email subject" +msgid "%{instance_name} account confirmation" +msgstr "%{instance_name} 账户确认" + +#: lib/pleroma/emails/user_email.ex:310 +#, elixir-autogen, elixir-format +msgctxt "digest email subject" +msgid "Your digest from %{instance_name}" +msgstr "您来自 %{instance_name} 的摘要邮件" + +#: lib/pleroma/emails/user_email.ex:81 +#, elixir-autogen, elixir-format +msgctxt "password reset email body" +msgid "

Reset your password at %{instance_name}

\n

Someone has requested password change for your account at %{instance_name}.

\n

If it was you, visit the following link to proceed: reset password.

\n

If it was someone else, nothing to worry about: your data is secure and your password has not been changed.

\n" +msgstr "" +"

在 %{instance_name} 重置您的密码

\n" +"

有人请求更改您在 %{instance_name} 的账户密码。

\n" +"

如果这是您的操作,请点击以下链接继续重置密码:重置密码

\n" +"

如果这不是您的操作,请不用担心:您的数据是安全的,您的密码未被更改。

\n" + +#: lib/pleroma/emails/user_email.ex:98 +#, elixir-autogen, elixir-format +msgctxt "password reset email subject" +msgid "Password reset" +msgstr "重置密码" + +#: lib/pleroma/emails/user_email.ex:215 +#, elixir-autogen, elixir-format +msgctxt "successful registration email body" +msgid "

Hello @%{nickname},

\n

Your account at %{instance_name} has been registered successfully.

\n

No further action is required to activate your account.

\n" +msgstr "" +"

你好,@%{nickname},

\n" +"

你在 %{instance_name} 的账户已经成功注册。

\n" +"

无需进行其他操作即可激活你的账户。

\n" + +#: lib/pleroma/emails/user_email.ex:231 +#, elixir-autogen, elixir-format +msgctxt "successful registration email subject" +msgid "Account registered on %{instance_name}" +msgstr "账号注册在 %{instance_name}" + +#: lib/pleroma/emails/user_email.ex:136 +#, elixir-autogen, elixir-format +msgctxt "user invitation email subject" +msgid "Invitation to %{instance_name}" +msgstr "邀请加入 %{instance_name}" + +#: lib/pleroma/emails/user_email.ex:53 +#, elixir-autogen, elixir-format +msgctxt "welcome email html body" +msgid "Welcome to %{instance_name}!" +msgstr "欢迎来到%{instance_name}!" + +#: lib/pleroma/emails/user_email.ex:41 +#, elixir-autogen, elixir-format +msgctxt "welcome email subject" +msgid "Welcome to %{instance_name}!" +msgstr "欢迎来到%{instance_name}!" + +#: lib/pleroma/emails/user_email.ex:65 +#, elixir-autogen, elixir-format +msgctxt "welcome email text body" +msgid "Welcome to %{instance_name}!" +msgstr "欢迎来到 %{instance_name}!" + +#: lib/pleroma/emails/user_email.ex:368 +#, elixir-autogen, elixir-format +msgctxt "account archive email body - admin requested" +msgid "

Admin @%{admin_nickname} requested a full backup of your Akkoma account. It's ready for download:

\n

%{download_url}

\n" +msgstr "" +"

管理员 @%{admin_nickname} 请求对你的 Akkoma " +"账户进行完整备份,备份已准备好可供下载:

\n" +"

%{download_url}

\n" + +#: lib/pleroma/emails/user_email.ex:356 +#, elixir-autogen, elixir-format +msgctxt "account archive email body - self-requested" +msgid "

You requested a full backup of your Akkoma account. It's ready for download:

\n

%{download_url}

\n" +msgstr "" +"

您请求了 Akkoma 帐户的完整备份。备份已准备就绪,可以下载:

\n" +"

%{download_url}

\n" + +#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:41 +#, elixir-autogen, elixir-format +msgctxt "oauth register page title" +msgid "This is your first visit! Please enter your Akkoma handle." +msgstr "这是您的第一次访问!请填写您的Akkoma账号。" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:123 +#, elixir-autogen, elixir-format +msgctxt "remote follow error message - unknown error" +msgid "Something went wrong." +msgstr "发生了一些错误。" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:67 +#, elixir-autogen, elixir-format +msgctxt "remote follow error message - user not found" +msgid "Could not find user" +msgstr "无法找到相应用户" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:8 +#, elixir-autogen, elixir-format +msgctxt "status interact authorization button" +msgid "Interact" +msgstr "互动" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:2 +#, elixir-autogen, elixir-format +msgctxt "status interact error" +msgid "Error: %{error}" +msgstr "错误:%{error}" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:95 +#, elixir-autogen, elixir-format +msgctxt "status interact error message - status not found" +msgid "Could not find status" +msgstr "无法找到帖文" + +#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:144 +#, elixir-autogen, elixir-format +msgctxt "status interact error message - unknown error" +msgid "Something went wrong." +msgstr "发生了一些错误。" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "status interact header" +msgid "Interacting with %{nickname}'s %{status_link}" +msgstr "与 %{nickname} 的 %{status_link} 进行交互" + +#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:4 +#, elixir-autogen, elixir-format +msgctxt "status interact header - status link text" +msgid "status" +msgstr "帖文" + +#: lib/pleroma/emails/user_email.ex:119 +#, elixir-autogen, elixir-format +msgctxt "user invitation email body" +msgid "

You are invited to %{instance_name}

\n

%{inviter_name} invites you to join %{instance_name}, an instance of Akkoma federated social networking platform.

\n

Click the following link to register: accept invitation.

\n" +msgstr "" +"

您被邀请加入 %{instance_name}

\n" +"

%{inviter_name} 邀请您加入 %{instance_name},这是一个使用 Akkoma " +"联邦社交网络平台的实例。

\n" +"

点击以下链接注册: 接受邀请.

\n" diff --git a/priv/repo/migrations/20211125110126_force_pinned_objects_to_exist.exs b/priv/repo/migrations/20211125110126_force_pinned_objects_to_exist.exs index 1fe9271f0..c2b136d43 100644 --- a/priv/repo/migrations/20211125110126_force_pinned_objects_to_exist.exs +++ b/priv/repo/migrations/20211125110126_force_pinned_objects_to_exist.exs @@ -1,11 +1,19 @@ defmodule Pleroma.Repo.Migrations.ForcePinnedObjectsToExist do use Ecto.Migration - def change do + def up do execute("UPDATE users SET pinned_objects = '{}' WHERE pinned_objects IS NULL") alter table("users") do modify(:pinned_objects, :map, null: false, default: %{}) end end + + def down do + alter table("users") do + modify(:pinned_objects, :map, null: true, default: nil) + end + + execute("UPDATE users SET pinned_objects = NULL WHERE pinned_objects = '{}'") + end end diff --git a/priv/repo/migrations/20220108213213_add_mastofe_settings.exs b/priv/repo/migrations/20220108213213_add_mastofe_settings.exs index 1046c2894..dc7777d53 100644 --- a/priv/repo/migrations/20220108213213_add_mastofe_settings.exs +++ b/priv/repo/migrations/20220108213213_add_mastofe_settings.exs @@ -1,9 +1,15 @@ defmodule Pleroma.Repo.Migrations.AddMastofeSettings do use Ecto.Migration - def change do + def up do alter table(:users) do add_if_not_exists(:mastofe_settings, :map) end end + + def down do + alter table(:users) do + remove_if_exists(:mastofe_settings, :map) + end + end end diff --git a/priv/repo/migrations/20220302013920_add_language_to_users.exs b/priv/repo/migrations/20220302013920_add_language_to_users.exs index 7a63c36aa..fc5008993 100644 --- a/priv/repo/migrations/20220302013920_add_language_to_users.exs +++ b/priv/repo/migrations/20220302013920_add_language_to_users.exs @@ -1,9 +1,15 @@ defmodule Pleroma.Repo.Migrations.AddLanguageToUsers do use Ecto.Migration - def change do + def up do alter table(:users) do add_if_not_exists(:language, :string) end end + + def down do + alter table(:users) do + remove_if_exists(:language, :string) + end + end end diff --git a/priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs b/priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs new file mode 100644 index 000000000..f9b9b12c7 --- /dev/null +++ b/priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs @@ -0,0 +1,23 @@ +defmodule Pleroma.Repo.Migrations.RenameIndexUsersApId_COALESCEFollowerAddressIndex do + alias Pleroma.Repo + + use Ecto.Migration + + def up do + # By default Postgresql first restores the data and then the indexes when dumping and restoring the database. + # Restoring index activities_visibility_index took a very long time. + # users_ap_id_COALESCE_follower_address_index was later added because having this could speed up the restoration tremendously. + # The problem now is that restoration apparently happens in alphabetical order, so this new index wasn't created yet + # by the time activities_visibility_index needed it. + # There were several work-arounds which included more complex steps during backup/restore. + # By renaming this index, it should be restored first and thus activities_visibility_index can make use of it. + # This speeds up restoration significantly without requiring more complex or unexpected steps from people. + Repo.query!("ALTER INDEX public.\"users_ap_id_COALESCE_follower_address_index\" + RENAME TO \"aa_users_ap_id_COALESCE_follower_address_index\";") + end + + def down do + Repo.query!("ALTER INDEX public.\"aa_users_ap_id_COALESCE_follower_address_index\" + RENAME TO \"users_ap_id_COALESCE_follower_address_index\";") + end +end diff --git a/priv/repo/migrations/20230522213837_add_unfollowed_dm_restrictions.exs b/priv/repo/migrations/20230522213837_add_unfollowed_dm_restrictions.exs new file mode 100644 index 000000000..8947be738 --- /dev/null +++ b/priv/repo/migrations/20230522213837_add_unfollowed_dm_restrictions.exs @@ -0,0 +1,9 @@ +defmodule Pleroma.Repo.Migrations.AddUnfollowedDmRestrictions do + use Ecto.Migration + + def change do + alter table(:users) do + add(:accepts_direct_messages_from, :string, default: "everybody") + end + end +end diff --git a/priv/scrubbers/default.ex b/priv/scrubbers/default.ex index 771f27ac1..37ffaef3a 100644 --- a/priv/scrubbers/default.ex +++ b/priv/scrubbers/default.ex @@ -56,8 +56,6 @@ defmodule Pleroma.HTML.Scrubber.Default do Meta.allow_tag_with_these_attributes(:u, []) Meta.allow_tag_with_these_attributes(:ul, []) - Meta.allow_tags_with_style_attributes([:span]) - Meta.allow_tag_with_this_attribute_values(:span, "class", [ "h-card", "quote-inline", diff --git a/priv/static/embed/embed.css b/priv/static/embed/embed.css new file mode 100644 index 000000000..cc79ee7ab --- /dev/null +++ b/priv/static/embed/embed.css @@ -0,0 +1,115 @@ +body { + background-color: #282c37; + font-family: sans-serif; + color: white; + margin: 0; + padding: 1em; + padding-bottom: 0; +} + +.avatar { + cursor: pointer; +} + +.avatar img { + float: left; + border-radius: 4px; + margin-right: 4px; +} + +.activity-content { + padding-top: 1em; +} + +.attachment { + margin-top: 1em; +} + +.attachment img { + max-width: 100%; +} + +.date a { + text-decoration: none; +} + +.date a:hover { + text-decoration: underline; +} + +.date a, +.counts { + color: #666; + font-size: 0.9em; +} + +.counts dt, +.counts dd { + float: left; + margin-left: 1em; +} + +a { + color: white; +} + +.h-card { + min-height: 48px; + margin-bottom: 8px; +} + +.h-card a { + text-decoration: none; +} + +.h-card a:hover { + text-decoration: underline; +} + +.display-name { + padding-top: 4px; + display: block; + text-overflow: ellipsis; + overflow: hidden; + color: white; +} + +/* keep emoji from being hilariously huge */ +.display-name img { + max-height: 1em; +} + +.display-name .nickname { + padding-top: 4px; + display: block; +} + +.nickname:hover { + text-decoration: none; +} + +.pull-right { + float: right; +} + +.collapse { + margin: 0; + width: auto; +} + +a.button { + box-sizing: border-box; + display: inline-block; + color: white; + background-color: #419bdd; + border-radius: 4px; + border: none; + padding: 10px; + font-weight: 500; + font-size: 0.9em; +} + +a.button:hover { + text-decoration: none; + background-color: #61a6d9; +} diff --git a/priv/static/embed/embed.js b/priv/static/embed/embed.js new file mode 100644 index 000000000..f675f6417 --- /dev/null +++ b/priv/static/embed/embed.js @@ -0,0 +1,43 @@ +(function () { + 'use strict' + + var ready = function (loaded) { + if (['interactive', 'complete'].indexOf(document.readyState) !== -1) { + loaded() + } else { + document.addEventListener('DOMContentLoaded', loaded) + } + } + + ready(function () { + var iframes = [] + + window.addEventListener('message', function (e) { + var data = e.data || {} + + if (data.type !== 'setHeightPleromaEmbed' || !iframes[data.id]) { + return + } + + iframes[data.id].height = data.height + }); + + [].forEach.call(document.querySelectorAll('iframe.pleroma-embed'), function (iframe) { + iframe.scrolling = 'no' + iframe.style.overflow = 'hidden' + + iframes.push(iframe) + + var id = iframes.length - 1 + + iframe.onload = function () { + iframe.contentWindow.postMessage({ + type: 'setHeightPleromaEmbed', + id: id + }, '*') + } + + iframe.onload() + }) + }) +})() diff --git a/priv/static/emoji/hehe.png b/priv/static/emoji/hehe.png new file mode 100644 index 000000000..c02592d97 Binary files /dev/null and b/priv/static/emoji/hehe.png differ diff --git a/priv/static/emoji/nothehe.png b/priv/static/emoji/nothehe.png new file mode 100644 index 000000000..427bb6d61 Binary files /dev/null and b/priv/static/emoji/nothehe.png differ diff --git a/priv/static/static-fe/forms.css b/priv/static/static-fe/forms.css index 196713ea0..9d6085d1d 100644 --- a/priv/static/static-fe/forms.css +++ b/priv/static/static-fe/forms.css @@ -14,13 +14,13 @@ input { padding: 10px; margin-top: 5px; margin-bottom: 10px; - background-color: var(--background-color); - color: var(--primary-text-color); + background-color: transparent; + color: inherit; border: 0; transition-property: border-bottom; transition-duration: 0.35s; - border-bottom: 2px solid #2a384a; - font-size: 14px; + border-bottom: 2px solid var(--faint); + font: inherit; width: inherit; box-sizing: border-box; } @@ -91,26 +91,22 @@ [type="checkbox"]:checked+label:before { a.button, button { width: 100%; - background-color: #1c2a3a; - color: var(--primary-text-color); + background-color: var(--btn); + color: var(--btnText); border-radius: 4px; border: none; padding: 10px 16px; margin-top: 20px; margin-bottom: 20px; text-transform: uppercase; - font-size: 16px; - box-shadow: 0px 0px 2px 0px black, - 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, - 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset; + box-shadow: var(--btnShadow); + font: inherit; } a.button:hover, button:hover { cursor: pointer; - box-shadow: 0px 0px 0px 1px var(--brand-color), - 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, - 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset; + box-shadow: var(--btnHoverShadow); } .actions { @@ -155,4 +151,21 @@ .account-header__display-name { .account-header__nickname { font-size: 14px; color: var(--muted-text-color); -} \ No newline at end of file +} + +.oauth { + /* Remote interaction /main/ostatus has such hierarchy, and its header and + * content do not pad themselves: + * (.panel.oauth (h2) + * (form (input) + * (button))) */ + padding: 1px 1em; +} + +.oauth .container__content { + /* Frontend selection /oauth/authorize needs an inverse because its heading + * and content have their own background and padding: + * (.panel.oauth (form (.container__content (.panel-heading) + * (.panel-content)))) */ + margin: -1px -1em; +} diff --git a/rel/files/installation/init.d/akkoma b/rel/files/installation/init.d/akkoma index ea6ea3580..492a0debe 100755 --- a/rel/files/installation/init.d/akkoma +++ b/rel/files/installation/init.d/akkoma @@ -9,6 +9,7 @@ command=/opt/akkoma/bin/pleroma command_args="start" command_user=akkoma command_background=1 +no_new_privs="yes" # Ask process to terminate within 30 seconds, otherwise kill it retry="SIGTERM/30/SIGKILL/5" diff --git a/test/fixtures/misskey/mfm_x_format.json b/test/fixtures/misskey/mfm_x_format.json index 590e399fe..ecbbddadd 100644 --- a/test/fixtures/misskey/mfm_x_format.json +++ b/test/fixtures/misskey/mfm_x_format.json @@ -5,7 +5,7 @@ "summary": null, "content": "this does not get replaced", "source": { - "content": "@akkoma_user @remote_user @full_tag_remote_user@misskey.local.live @oops_not_a_mention linkifylink #dancedance $[jelly mfm goes here] \n\n## aaa", + "content": "@akkoma_user @remote_user @full_tag_remote_user@misskey.local.live @oops_not_a_mention linkifylink #dancedance $[jelly mfm goes here] \n\n## aaa\n\nsome text\nnewline", "mediaType": "text/x.misskeymarkdown" }, "published": "2022-07-10T15:37:36.368Z", diff --git a/test/fixtures/tesla_mock/mk.absturztau.be-93e7nm8wqg-activity.json b/test/fixtures/tesla_mock/mk.absturztau.be-93e7nm8wqg-activity.json new file mode 100644 index 000000000..b45ab78e4 --- /dev/null +++ b/test/fixtures/tesla_mock/mk.absturztau.be-93e7nm8wqg-activity.json @@ -0,0 +1 @@ +{"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","sensitive":"as:sensitive","Hashtag":"as:Hashtag","quoteUrl":"as:quoteUrl","toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","featured":"toot:featured","discoverable":"toot:discoverable","schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value","misskey":"https://misskey-hub.net/ns#","_misskey_content":"misskey:_misskey_content","_misskey_quote":"misskey:_misskey_quote","_misskey_reaction":"misskey:_misskey_reaction","_misskey_votes":"misskey:_misskey_votes","_misskey_talk":"misskey:_misskey_talk","isCat":"misskey:isCat","vcard":"http://www.w3.org/2006/vcard/ns#"}],"id":"https://mk.absturztau.be/notes/93e7nm8wqg/activity","actor":"https://mk.absturztau.be/users/8ozbzjs3o8","type":"Create","published":"2022-08-01T11:06:49.568Z","object":{"id":"https://mk.absturztau.be/notes/93e7nm8wqg","type":"Note","attributedTo":"https://mk.absturztau.be/users/8ozbzjs3o8","summary":null,"content":"

meow

","_misskey_content":"meow","published":"2022-08-01T11:06:49.568Z","to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://mk.absturztau.be/users/8ozbzjs3o8/followers"],"inReplyTo":null,"attachment":[],"sensitive":false,"tag":[]},"to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://mk.absturztau.be/users/8ozbzjs3o8/followers"]} \ No newline at end of file diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs index 447a4404e..40c5fd402 100644 --- a/test/mix/tasks/pleroma/database_test.exs +++ b/test/mix/tasks/pleroma/database_test.exs @@ -7,6 +7,7 @@ defmodule Mix.Tasks.Pleroma.DatabaseTest do use Oban.Testing, repo: Pleroma.Repo alias Pleroma.Activity + alias Pleroma.Bookmark alias Pleroma.Object alias Pleroma.Repo alias Pleroma.User @@ -45,21 +46,25 @@ test "it replaces objects with references" do end describe "prune_objects" do - test "it prunes old objects from the database" do + setup do deadline = Pleroma.Config.get([:instance, :remote_post_retention_days]) + 1 - date = + old_insert_date = Timex.now() |> Timex.shift(days: -deadline) |> Timex.to_naive_datetime() |> NaiveDateTime.truncate(:second) + %{old_insert_date: old_insert_date} + end + + test "it prunes old objects from the database", %{old_insert_date: old_insert_date} do insert(:note) %{id: note_remote_public_id} = :note |> insert() - |> Ecto.Changeset.change(%{updated_at: date}) + |> Ecto.Changeset.change(%{updated_at: old_insert_date}) |> Repo.update!() note_remote_non_public = @@ -69,7 +74,7 @@ test "it prunes old objects from the database" do note_remote_non_public |> Ecto.Changeset.change(%{ - updated_at: date, + updated_at: old_insert_date, data: note_remote_non_public_data |> update_in(["to"], fn _ -> [] end) }) |> Repo.update!() @@ -83,21 +88,37 @@ test "it prunes old objects from the database" do refute Object.get_by_id(note_remote_non_public_id) end - test "with the --keep-non-public option it still keeps non-public posts even if they are not local" do - deadline = Pleroma.Config.get([:instance, :remote_post_retention_days]) + 1 + test "it cleans up bookmarks", %{old_insert_date: old_insert_date} do + user = insert(:user) + {:ok, old_object_activity} = CommonAPI.post(user, %{status: "yadayada"}) - date = - Timex.now() - |> Timex.shift(days: -deadline) - |> Timex.to_naive_datetime() - |> NaiveDateTime.truncate(:second) + Repo.one(Object) + |> Ecto.Changeset.change(%{updated_at: old_insert_date}) + |> Repo.update!() + {:ok, new_object_activity} = CommonAPI.post(user, %{status: "yadayada"}) + + {:ok, _} = Bookmark.create(user.id, old_object_activity.id) + {:ok, _} = Bookmark.create(user.id, new_object_activity.id) + + assert length(Repo.all(Object)) == 2 + assert length(Repo.all(Bookmark)) == 2 + + Mix.Tasks.Pleroma.Database.run(["prune_objects"]) + + assert length(Repo.all(Object)) == 1 + assert length(Repo.all(Bookmark)) == 1 + refute Bookmark.get(user.id, old_object_activity.id) + end + + test "with the --keep-non-public option it still keeps non-public posts even if they are not local", + %{old_insert_date: old_insert_date} do insert(:note) %{id: note_remote_id} = :note |> insert() - |> Ecto.Changeset.change(%{updated_at: date}) + |> Ecto.Changeset.change(%{updated_at: old_insert_date}) |> Repo.update!() note_remote_non_public = @@ -107,7 +128,7 @@ test "with the --keep-non-public option it still keeps non-public posts even if note_remote_non_public |> Ecto.Changeset.change(%{ - updated_at: date, + updated_at: old_insert_date, data: note_remote_non_public_data |> update_in(["to"], fn _ -> [] end) }) |> Repo.update!() @@ -120,16 +141,10 @@ test "with the --keep-non-public option it still keeps non-public posts even if refute Object.get_by_id(note_remote_id) end - test "with the --keep-threads and --keep-non-public option it keeps old threads with non-public replies even if the interaction is not local" do + test "with the --keep-threads and --keep-non-public option it keeps old threads with non-public replies even if the interaction is not local", + %{old_insert_date: old_insert_date} do # For non-public we only check Create Activities because only these are relevant for threads # Flags are always non-public, Announces from relays can be non-public... - deadline = Pleroma.Config.get([:instance, :remote_post_retention_days]) + 1 - - old_insert_date = - Timex.now() - |> Timex.shift(days: -deadline) - |> Timex.to_naive_datetime() - |> NaiveDateTime.truncate(:second) remote_user1 = insert(:user, local: false) remote_user2 = insert(:user, local: false) @@ -212,15 +227,9 @@ test "with the --keep-threads option it still keeps non-old threads even with no assert length(Repo.all(Object)) == 2 end - test "with the --keep-threads option it deletes old threads with no local interaction" do - deadline = Pleroma.Config.get([:instance, :remote_post_retention_days]) + 1 - - old_insert_date = - Timex.now() - |> Timex.shift(days: -deadline) - |> Timex.to_naive_datetime() - |> NaiveDateTime.truncate(:second) - + test "with the --keep-threads option it deletes old threads with no local interaction", %{ + old_insert_date: old_insert_date + } do remote_user = insert(:user, local: false) remote_user2 = insert(:user, local: false) @@ -261,15 +270,9 @@ test "with the --keep-threads option it deletes old threads with no local intera assert length(Repo.all(Object)) == 0 end - test "with the --keep-threads option it keeps old threads with local interaction" do - deadline = Pleroma.Config.get([:instance, :remote_post_retention_days]) + 1 - - old_insert_date = - Timex.now() - |> Timex.shift(days: -deadline) - |> Timex.to_naive_datetime() - |> NaiveDateTime.truncate(:second) - + test "with the --keep-threads option it keeps old threads with local interaction", %{ + old_insert_date: old_insert_date + } do remote_user = insert(:user, local: false) local_user = insert(:user, local: true) @@ -326,15 +329,9 @@ test "with the --keep-threads option it keeps old threads with local interaction assert length(Repo.all(Object)) == 4 end - test "with the --keep-threads option it keeps old threads with bookmarked posts" do - deadline = Pleroma.Config.get([:instance, :remote_post_retention_days]) + 1 - - old_insert_date = - Timex.now() - |> Timex.shift(days: -deadline) - |> Timex.to_naive_datetime() - |> NaiveDateTime.truncate(:second) - + test "with the --keep-threads option it keeps old threads with bookmarked posts", %{ + old_insert_date: old_insert_date + } do remote_user = insert(:user, local: false) local_user = insert(:user, local: true) @@ -353,6 +350,186 @@ test "with the --keep-threads option it keeps old threads with bookmarked posts" assert length(Repo.all(Object)) == 1 end + + test "We don't have unexpected tables which may contain objects that are referenced by activities" do + # We can delete orphaned activities. For that we look for the objects they reference in the 'objects', 'activities', and 'users' table. + # If someone adds another table with objects (idk, maybe with separate relations, or collections or w/e), then we need to make sure we + # add logic for that in the 'prune_objects' task so that we don't wrongly delete their corresponding activities. + # So when someone adds (or removes) a table, this test will fail. + # Either the table contains objects which can be referenced from the activities table + # => in that case the prune_objects job should be adapted so we don't delete activities who still have the referenced object. + # Or it doesn't contain objects which can be referenced from the activities table + # => in that case you can add/remove the table to/from this (sorted) list. + + assert Repo.query!( + "SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND table_type='BASE TABLE';" + ).rows + |> Enum.sort() == [ + ["activities"], + ["announcement_read_relationships"], + ["announcements"], + ["apps"], + ["backups"], + ["bookmarks"], + ["chat_message_references"], + ["chats"], + ["config"], + ["conversation_participation_recipient_ships"], + ["conversation_participations"], + ["conversations"], + ["counter_cache"], + ["data_migration_failed_ids"], + ["data_migrations"], + ["deliveries"], + ["filters"], + ["following_relationships"], + ["hashtags"], + ["hashtags_objects"], + ["instances"], + ["lists"], + ["markers"], + ["mfa_tokens"], + ["moderation_log"], + ["notifications"], + ["oauth_authorizations"], + ["oauth_tokens"], + ["oban_jobs"], + ["oban_peers"], + ["objects"], + ["password_reset_tokens"], + ["push_subscriptions"], + ["registrations"], + ["report_notes"], + ["scheduled_activities"], + ["schema_migrations"], + ["thread_mutes"], + ["user_follows_hashtag"], + ["user_frontend_setting_profiles"], + ["user_invite_tokens"], + ["user_notes"], + ["user_relationships"], + ["users"] + ] + end + + test "it prunes orphaned activities with the --prune-orphaned-activities" do + %Object{} |> Map.merge(%{data: %{"id" => "object_for_activity"}}) |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{"id" => "remote_activity_with_object", "object" => "object_for_activity"} + }) + |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{ + "id" => "remote_activity_with_activity", + "object" => "remote_activity_with_object" + } + }) + |> Repo.insert() + + %User{} |> Map.merge(%{ap_id: "actor"}) |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{"id" => "remote_activity_with_actor", "object" => "actor"} + }) + |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{ + "id" => "remote_activity_without_existing_referenced_object", + "object" => "non_existing" + } + }) + |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: true, + data: %{"id" => "local_activity_with_actor", "object" => "non_existing"} + }) + |> Repo.insert() + + assert length(Repo.all(Activity)) == 5 + Mix.Tasks.Pleroma.Database.run(["prune_objects"]) + assert length(Repo.all(Activity)) == 5 + Mix.Tasks.Pleroma.Database.run(["prune_objects", "--prune-orphaned-activities"]) + activities = Repo.all(Activity) + + assert "remote_activity_without_existing_referenced_object" not in Enum.map( + activities, + fn a -> a.data["id"] end + ) + + assert length(activities) == 4 + end + + test "it prunes orphaned activities with the --prune-orphaned-activities when the objects are referenced from an array" do + %Object{} |> Map.merge(%{data: %{"id" => "existing_object"}}) |> Repo.insert() + %User{} |> Map.merge(%{ap_id: "existing_actor"}) |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{ + "id" => "remote_activity_existing_object", + "object" => ["non_ existing_object", "existing_object"] + } + }) + |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{ + "id" => "remote_activity_existing_actor", + "object" => ["non_ existing_object", "existing_actor"] + } + }) + |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{ + "id" => "remote_activity_existing_activity", + "object" => ["non_ existing_object", "remote_activity_existing_actor"] + } + }) + |> Repo.insert() + + %Activity{} + |> Map.merge(%{ + local: false, + data: %{ + "id" => "remote_activity_without_existing_referenced_object", + "object" => ["owo", "whats_this"] + } + }) + |> Repo.insert() + + assert length(Repo.all(Activity)) == 4 + Mix.Tasks.Pleroma.Database.run(["prune_objects"]) + assert length(Repo.all(Activity)) == 4 + Mix.Tasks.Pleroma.Database.run(["prune_objects", "--prune-orphaned-activities"]) + activities = Repo.all(Activity) + assert length(activities) == 3 + + assert "remote_activity_without_existing_referenced_object" not in Enum.map( + activities, + fn a -> a.data["id"] end + ) + + assert length(activities) == 3 + end end describe "running update_users_following_followers_counts" do diff --git a/test/pleroma/activity/ir/topics_test.exs b/test/pleroma/activity/ir/topics_test.exs index 9c8e5d932..03e323469 100644 --- a/test/pleroma/activity/ir/topics_test.exs +++ b/test/pleroma/activity/ir/topics_test.exs @@ -35,7 +35,7 @@ test "always add user and list topics" do setup do activity = %Activity{ object: %Object{data: %{"type" => "Note"}}, - data: %{"to" => [Pleroma.Constants.as_public()]} + data: %{"to" => [Pleroma.Constants.as_public()], "type" => "Create"} } {:ok, activity: activity} @@ -114,6 +114,55 @@ test "local action doesn't produce public:remote topic", %{activity: activity} d end end + describe "public visibility Announces" do + setup do + activity = %Activity{ + object: %Object{data: %{"attachment" => []}}, + data: %{"type" => "Announce", "to" => [Pleroma.Constants.as_public()]} + } + + {:ok, activity: activity} + end + + test "does not generate public topics", %{activity: activity} do + topics = Topics.get_activity_topics(activity) + + refute "public" in topics + refute "public:remote" in topics + refute "public:local" in topics + end + end + + describe "local-public visibility create events" do + setup do + activity = %Activity{ + object: %Object{data: %{"attachment" => []}}, + data: %{"type" => "Create", "to" => [Pleroma.Web.ActivityPub.Utils.as_local_public()]} + } + + {:ok, activity: activity} + end + + test "doesn't produce public topics", %{activity: activity} do + topics = Topics.get_activity_topics(activity) + + refute Enum.member?(topics, "public") + end + + test "produces public:local topics", %{activity: activity} do + topics = Topics.get_activity_topics(activity) + + assert Enum.member?(topics, "public:local") + end + + test "with no attachments doesn't produce public:media topics", %{activity: activity} do + topics = Topics.get_activity_topics(activity) + + refute Enum.member?(topics, "public:media") + refute Enum.member?(topics, "public:local:media") + end + end + describe "public visibility create events with attachments" do setup do activity = %Activity{ @@ -152,9 +201,36 @@ test "non-local action produces public:remote:media topic", %{activity: activity end end + describe "local-public visibility create events with attachments" do + setup do + activity = %Activity{ + object: %Object{data: %{"attachment" => ["foo"]}}, + data: %{"type" => "Create", "to" => [Pleroma.Web.ActivityPub.Utils.as_local_public()]} + } + + {:ok, activity: activity} + end + + test "do not produce public:media topics", %{activity: activity} do + topics = Topics.get_activity_topics(activity) + + refute Enum.member?(topics, "public:media") + end + + test "produces public:local:media topics", %{activity: activity} do + topics = Topics.get_activity_topics(activity) + + assert Enum.member?(topics, "public:local:media") + end + end + describe "non-public visibility" do test "produces direct topic" do - activity = %Activity{object: %Object{data: %{"type" => "Note"}}, data: %{"to" => []}} + activity = %Activity{ + object: %Object{data: %{"type" => "Note"}}, + data: %{"to" => [], "type" => "Create"} + } + topics = Topics.get_activity_topics(activity) assert Enum.member?(topics, "direct") diff --git a/test/pleroma/notification_test.exs b/test/pleroma/notification_test.exs index 721836a2c..4905cb7eb 100644 --- a/test/pleroma/notification_test.exs +++ b/test/pleroma/notification_test.exs @@ -328,6 +328,32 @@ test "it disables notifications from strangers" do refute Notification.create_notification(activity, followed) end + test "it disables notifications from non-followees" do + follower = insert(:user) + + followed = + insert(:user, + notification_settings: %Pleroma.User.NotificationSetting{block_from_strangers: true} + ) + + CommonAPI.follow(follower, followed) + {:ok, activity} = CommonAPI.post(follower, %{status: "hey @#{followed.nickname}"}) + refute Notification.create_notification(activity, followed) + end + + test "it allows notifications from followees" do + poster = insert(:user) + + receiver = + insert(:user, + notification_settings: %Pleroma.User.NotificationSetting{block_from_strangers: true} + ) + + CommonAPI.follow(receiver, poster) + {:ok, activity} = CommonAPI.post(poster, %{status: "hey @#{receiver.nickname}"}) + assert Notification.create_notification(activity, receiver) + end + test "it doesn't create a notification for user if he is the activity author" do activity = insert(:note_activity) author = User.get_cached_by_ap_id(activity.data["actor"]) @@ -1225,5 +1251,32 @@ test "it returns notifications about favorites with filtered word", %{user: user assert length(Notification.for_user(user)) == 1 end + + test "it returns notifications when related object is without content and filters are defined", + %{user: user} do + followed_user = insert(:user, is_locked: true) + + insert(:filter, user: followed_user, phrase: "test", hide: true) + + {:ok, _, _, _activity} = CommonAPI.follow(user, followed_user) + refute FollowingRelationship.following?(user, followed_user) + assert [notification] = Notification.for_user(followed_user) + + assert %{type: "follow_request"} = + NotificationView.render("show.json", %{ + notification: notification, + for: followed_user + }) + + assert {:ok, _} = CommonAPI.accept_follow_request(user, followed_user) + + assert [notification] = Notification.for_user(followed_user) + + assert %{type: "follow"} = + NotificationView.render("show.json", %{ + notification: notification, + for: followed_user + }) + end end end diff --git a/test/pleroma/signature_test.exs b/test/pleroma/signature_test.exs index 59674bbc0..21e6ed161 100644 --- a/test/pleroma/signature_test.exs +++ b/test/pleroma/signature_test.exs @@ -114,6 +114,11 @@ test "it deduces the actor id for gotoSocial" do {:ok, "https://example.com/users/1234"} end + test "it deduces the actor ID for streams" do + assert Signature.key_id_to_actor_id("https://example.com/users/1234?operation=getkey") == + {:ok, "https://example.com/users/1234"} + end + test "it calls webfinger for 'acct:' accounts" do with_mock(Pleroma.Web.WebFinger, finger: fn _ -> {:ok, %{"ap_id" => "https://gensokyo.2hu/users/raymoo"}} end diff --git a/test/pleroma/translators/libre_translate_test.exs b/test/pleroma/translators/libre_translate_test.exs index 3c81c3d76..2ba75ec0e 100644 --- a/test/pleroma/translators/libre_translate_test.exs +++ b/test/pleroma/translators/libre_translate_test.exs @@ -133,5 +133,20 @@ test "should gracefully handle an unsupported language" do assert {:error, "libre_translate: request failed (code 400)"} = LibreTranslate.translate("ギュギュ握りつぶしちゃうぞ", nil, "zoop") end + + test "should work when no detected language is received" do + Tesla.Mock.mock(fn + %{method: :post, url: "http://libre.translate/translate"} -> + %Tesla.Env{ + status: 200, + body: + Jason.encode!(%{ + translatedText: "I will crush you" + }) + } + end) + + assert {:ok, "", "I will crush you"} = LibreTranslate.translate("ギュギュ握りつぶしちゃうぞ", nil, "en") + end end end diff --git a/test/pleroma/upload/filter/only_media_test.exs b/test/pleroma/upload/filter/only_media_test.exs new file mode 100644 index 000000000..75be070a1 --- /dev/null +++ b/test/pleroma/upload/filter/only_media_test.exs @@ -0,0 +1,32 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2023 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Upload.Filter.OnlyMediaTest do + use Pleroma.DataCase, async: true + + alias Pleroma.Upload + alias Pleroma.Upload.Filter.OnlyMedia + + test "Allows media Content-Type" do + ["audio/mpeg", "image/jpeg", "video/mp4"] + |> Enum.each(fn type -> + upload = %Upload{ + content_type: type + } + + assert {:ok, :noop} = OnlyMedia.filter(upload) + end) + end + + test "Disallows non-media Content-Type" do + ["application/javascript", "application/pdf", "text/html"] + |> Enum.each(fn type -> + upload = %Upload{ + content_type: type + } + + assert {:error, _} = OnlyMedia.filter(upload) + end) + end +end diff --git a/test/pleroma/upload_test.exs b/test/pleroma/upload_test.exs index 8f242630f..ad6065b43 100644 --- a/test/pleroma/upload_test.exs +++ b/test/pleroma/upload_test.exs @@ -54,7 +54,7 @@ test "it returns file" do assert result == %{ "id" => result["id"], - "name" => "image.jpg", + "name" => "", "type" => "Document", "mediaType" => "image/jpeg", "url" => [ @@ -154,19 +154,6 @@ test "copies the file to the configured folder with deduping" do "e30397b58d226d6583ab5b8b3c5defb0c682bda5c31ef07a9f57c1c4986e3781.jpg" end - test "copies the file to the configured folder without deduping" do - File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg") - - file = %Plug.Upload{ - content_type: "image/jpeg", - path: Path.absname("test/fixtures/image_tmp.jpg"), - filename: "an [image.jpg" - } - - {:ok, data} = Upload.store(file) - assert data["name"] == "an [image.jpg" - end - test "fixes incorrect content type when base64 is given" do params = %{ img: "data:image/png;base64,#{Base.encode64(File.read!("test/fixtures/image.jpg"))}" @@ -184,7 +171,7 @@ test "adds extension when base64 is given" do } {:ok, data} = Upload.store(params) - assert String.ends_with?(data["name"], ".jpg") + assert String.ends_with?(List.first(data["url"])["href"], ".jpg") end test "copies the file to the configured folder with anonymizing filename" do diff --git a/test/pleroma/user_note_test.exs b/test/pleroma/user_note_test.exs new file mode 100644 index 000000000..7d818196e --- /dev/null +++ b/test/pleroma/user_note_test.exs @@ -0,0 +1,39 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2021 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.UserNoteTest do + alias Pleroma.UserNote + + use Pleroma.DataCase, async: false + import Pleroma.Factory + + describe "show/2" do + setup do + {:ok, users: insert_list(2, :user)} + end + + test "if record does not exist, returns empty string", %{users: [user1, user2]} do + comment = UserNote.show(user1, user2) + + assert comment == "" + end + + test "if record exists with comment == nil, returns empty string", %{users: [user1, user2]} do + UserNote.create(user1, user2, nil) + + comment = UserNote.show(user1, user2) + + assert comment == "" + end + + test "if record exists with non-nil comment, returns comment", %{users: [user1, user2]} do + expected_comment = "hello" + UserNote.create(user1, user2, expected_comment) + + comment = UserNote.show(user1, user2) + + assert comment == expected_comment + end + end +end diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs index a590946c2..c33528a67 100644 --- a/test/pleroma/user_test.exs +++ b/test/pleroma/user_test.exs @@ -557,6 +557,21 @@ test "it fails gracefully with invalid email config" do refute_email_sent() end + test "it works when the registering user does not provide an email" do + clear_config([Pleroma.Emails.Mailer, :enabled], false) + clear_config([:instance, :account_activation_required], false) + clear_config([:instance, :account_approval_required], true) + + cng = User.register_changeset(%User{}, @full_user_data |> Map.put(:email, "")) + + # The user is still created + assert {:ok, %User{nickname: "nick"}} = User.register(cng) + + # No emails are sent + ObanHelpers.perform_all() + refute_email_sent() + end + test "it requires an email, name, nickname and password, bio is optional when account_activation_required is enabled" do clear_config([:instance, :account_activation_required], true) @@ -2509,6 +2524,16 @@ test "avatar fallback" do assert User.avatar_url(user, no_default: true) == nil end + test "avatar object with nil in href" do + user = insert(:user, avatar: %{"url" => [%{"href" => nil}]}) + assert User.avatar_url(user) != nil + end + + test "banner object with nil in href" do + user = insert(:user, banner: %{"url" => [%{"href" => nil}]}) + assert User.banner_url(user) != nil + end + test "get_host/1" do user = insert(:user, ap_id: "https://lain.com/users/lain", nickname: "lain") assert User.get_host(user) == "lain.com" @@ -2746,4 +2771,35 @@ test "should not error when trying to unfollow a hashtag twice" do assert user.followed_hashtags |> Enum.count() == 0 end end + + describe "accepts_direct_messages?/2" do + test "should return true if the recipient follows the sender and has set accept to :people_i_follow" do + recipient = + insert(:user, %{ + accepts_direct_messages_from: :people_i_follow + }) + + sender = insert(:user) + + refute User.accepts_direct_messages?(recipient, sender) + + CommonAPI.follow(recipient, sender) + + assert User.accepts_direct_messages?(recipient, sender) + end + + test "should return true if the recipient has set accept to :everyone" do + recipient = insert(:user, %{accepts_direct_messages_from: :everybody}) + sender = insert(:user) + + assert User.accepts_direct_messages?(recipient, sender) + end + + test "should return false if the receipient set accept to :nobody" do + recipient = insert(:user, %{accepts_direct_messages_from: :nobody}) + sender = insert(:user) + + refute User.accepts_direct_messages?(recipient, sender) + end + end end diff --git a/test/pleroma/web/activity_pub/activity_pub_controller_test.exs b/test/pleroma/web/activity_pub/activity_pub_controller_test.exs index 2008ebf04..0d4a7ec2e 100644 --- a/test/pleroma/web/activity_pub/activity_pub_controller_test.exs +++ b/test/pleroma/web/activity_pub/activity_pub_controller_test.exs @@ -662,35 +662,6 @@ test "accept follow activity", %{conn: conn} do assert_receive {:mix_shell, :info, ["https://relay.mastodon.host/actor"]} end - @tag capture_log: true - test "without valid signature, " <> - "it only accepts Create activities and requires enabled federation", - %{conn: conn} do - data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!() - non_create_data = File.read!("test/fixtures/mastodon-announce.json") |> Jason.decode!() - - conn = put_req_header(conn, "content-type", "application/activity+json") - - clear_config([:instance, :federating], false) - - conn - |> post("/inbox", data) - |> json_response(403) - - conn - |> post("/inbox", non_create_data) - |> json_response(403) - - clear_config([:instance, :federating], true) - - ret_conn = post(conn, "/inbox", data) - assert "ok" == json_response(ret_conn, 200) - - conn - |> post("/inbox", non_create_data) - |> json_response(400) - end - test "accepts Add/Remove activities", %{conn: conn} do object_id = "c61d6733-e256-4fe1-ab13-1e369789423f" diff --git a/test/pleroma/web/activity_pub/activity_pub_test.exs b/test/pleroma/web/activity_pub/activity_pub_test.exs index 17c52fc91..b65575f01 100644 --- a/test/pleroma/web/activity_pub/activity_pub_test.exs +++ b/test/pleroma/web/activity_pub/activity_pub_test.exs @@ -1303,33 +1303,19 @@ test "returns reblogs for users for whom reblogs have not been muted" do %{test_file: test_file} end + test "strips / from filename", %{test_file: file} do + file = %Plug.Upload{file | filename: "../../../../../nested/bad.jpg"} + {:ok, %Object{} = object} = ActivityPub.upload(file) + [%{"href" => href}] = object.data["url"] + assert Regex.match?(~r"/bad.jpg$", href) + refute Regex.match?(~r"/nested/", href) + end + test "sets a description if given", %{test_file: file} do {:ok, %Object{} = object} = ActivityPub.upload(file, description: "a cool file") assert object.data["name"] == "a cool file" end - test "it sets the default description depending on the configuration", %{test_file: file} do - clear_config([Pleroma.Upload, :default_description]) - - clear_config([Pleroma.Upload, :default_description], nil) - {:ok, %Object{} = object} = ActivityPub.upload(file) - assert object.data["name"] == "" - - clear_config([Pleroma.Upload, :default_description], :filename) - {:ok, %Object{} = object} = ActivityPub.upload(file) - assert object.data["name"] == "an_image.jpg" - - clear_config([Pleroma.Upload, :default_description], "unnamed attachment") - {:ok, %Object{} = object} = ActivityPub.upload(file) - assert object.data["name"] == "unnamed attachment" - end - - test "copies the file to the configured folder", %{test_file: file} do - clear_config([Pleroma.Upload, :default_description], :filename) - {:ok, %Object{} = object} = ActivityPub.upload(file) - assert object.data["name"] == "an_image.jpg" - end - test "works with base64 encoded images" do file = %{ img: data_uri() diff --git a/test/pleroma/web/activity_pub/mrf/direct_message_disabled_policy_test.exs b/test/pleroma/web/activity_pub/mrf/direct_message_disabled_policy_test.exs new file mode 100644 index 000000000..02ae24a4d --- /dev/null +++ b/test/pleroma/web/activity_pub/mrf/direct_message_disabled_policy_test.exs @@ -0,0 +1,52 @@ +defmodule Pleroma.Web.ActivityPub.MRF.DirectMessageDisabledPolicyTest do + use Pleroma.DataCase + import Pleroma.Factory + + alias Pleroma.Web.ActivityPub.MRF.DirectMessageDisabledPolicy + alias Pleroma.User + + describe "strips recipients" do + test "when the user denies the direct message" do + sender = insert(:user) + recipient = insert(:user, %{accepts_direct_messages_from: :nobody}) + + refute User.accepts_direct_messages?(recipient, sender) + + message = %{ + "actor" => sender.ap_id, + "to" => [recipient.ap_id], + "cc" => [], + "type" => "Create", + "object" => %{ + "type" => "Note", + "to" => [recipient.ap_id] + } + } + + assert {:ok, %{"to" => [], "object" => %{"to" => []}}} = + DirectMessageDisabledPolicy.filter(message) + end + + test "when the user does not deny the direct message" do + sender = insert(:user) + recipient = insert(:user, %{accepts_direct_messages_from: :everybody}) + + assert User.accepts_direct_messages?(recipient, sender) + + message = %{ + "actor" => sender.ap_id, + "to" => [recipient.ap_id], + "cc" => [], + "type" => "Create", + "object" => %{ + "type" => "Note", + "to" => [recipient.ap_id] + } + } + + assert {:ok, message} = DirectMessageDisabledPolicy.filter(message) + assert message["to"] == [recipient.ap_id] + assert message["object"]["to"] == [recipient.ap_id] + end + end +end diff --git a/test/pleroma/web/activity_pub/mrf/reject_newly_created_account_note_policy_test.exs b/test/pleroma/web/activity_pub/mrf/reject_newly_created_account_note_policy_test.exs new file mode 100644 index 000000000..2fc65e6d6 --- /dev/null +++ b/test/pleroma/web/activity_pub/mrf/reject_newly_created_account_note_policy_test.exs @@ -0,0 +1,45 @@ +defmodule Pleroma.Web.ActivityPub.MRF.RejectNewlyCreatedAccountNotesPolicyTest do + use Pleroma.DataCase + import Pleroma.Factory + + alias Pleroma.Web.ActivityPub.MRF.RejectNewlyCreatedAccountNotesPolicy + + describe "reject notes from new accounts" do + test "rejects notes from accounts created more recently than `age`" do + clear_config([:mrf_reject_newly_created_account_notes, :age], 86_400) + sender = insert(:user, %{inserted_at: Timex.now(), local: false}) + + message = %{ + "actor" => sender.ap_id, + "type" => "Create" + } + + assert {:reject, _} = RejectNewlyCreatedAccountNotesPolicy.filter(message) + end + + test "does not reject notes from accounts created longer ago" do + clear_config([:mrf_reject_newly_created_account_notes, :age], 86_400) + a_day_ago = Timex.shift(Timex.now(), days: -1) + sender = insert(:user, %{inserted_at: a_day_ago, local: false}) + + message = %{ + "actor" => sender.ap_id, + "type" => "Create" + } + + assert {:ok, _} = RejectNewlyCreatedAccountNotesPolicy.filter(message) + end + + test "does not affect local users" do + clear_config([:mrf_reject_newly_created_account_notes, :age], 86_400) + sender = insert(:user, %{inserted_at: Timex.now(), local: true}) + + message = %{ + "actor" => sender.ap_id, + "type" => "Create" + } + + assert {:ok, _} = RejectNewlyCreatedAccountNotesPolicy.filter(message) + end + end +end diff --git a/test/pleroma/web/activity_pub/mrf_test.exs b/test/pleroma/web/activity_pub/mrf_test.exs index 7359398fe..51af672cd 100644 --- a/test/pleroma/web/activity_pub/mrf_test.exs +++ b/test/pleroma/web/activity_pub/mrf_test.exs @@ -102,7 +102,13 @@ test "it works as expected with noop policy" do clear_config([:mrf, :policies], [Pleroma.Web.ActivityPub.MRF.NoOpPolicy]) expected = %{ - mrf_policies: ["NoOpPolicy", "HashtagPolicy", "InlineQuotePolicy", "NormalizeMarkup"], + mrf_policies: [ + "NoOpPolicy", + "HashtagPolicy", + "InlineQuotePolicy", + "NormalizeMarkup", + "DirectMessageDisabledPolicy" + ], mrf_hashtag: %{ federated_timeline_removal: [], reject: [], @@ -118,7 +124,13 @@ test "it works as expected with mock policy" do clear_config([:mrf, :policies], [MRFModuleMock]) expected = %{ - mrf_policies: ["MRFModuleMock", "HashtagPolicy", "InlineQuotePolicy", "NormalizeMarkup"], + mrf_policies: [ + "MRFModuleMock", + "HashtagPolicy", + "InlineQuotePolicy", + "NormalizeMarkup", + "DirectMessageDisabledPolicy" + ], mrf_module_mock: "some config data", mrf_hashtag: %{ federated_timeline_removal: [], diff --git a/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs b/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs index 62ac5e051..f1aee27d4 100644 --- a/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs +++ b/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs @@ -135,7 +135,9 @@ test "a misskey MFM status with a content field should work and be linked", _ do assert content =~ "@oops_not_a_mention" assert content =~ - "mfm goes here

aaa" + "mfm goes here

aaa" + + assert content =~ "some text
newline" end test "a misskey MFM status with a _misskey_content field should work and be linked", _ do diff --git a/test/pleroma/web/activity_pub/object_validators/block_validation_test.exs b/test/pleroma/web/activity_pub/object_validators/block_validation_test.exs index ad6190892..5e6757760 100644 --- a/test/pleroma/web/activity_pub/object_validators/block_validation_test.exs +++ b/test/pleroma/web/activity_pub/object_validators/block_validation_test.exs @@ -12,6 +12,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidationTest do describe "blocks" do setup do + clear_config([:activitypub, :outgoing_blocks], true) user = insert(:user, local: false) blocked = insert(:user) diff --git a/test/pleroma/web/activity_pub/side_effects_test.exs b/test/pleroma/web/activity_pub/side_effects_test.exs index ee664bb8f..94b6a11b3 100644 --- a/test/pleroma/web/activity_pub/side_effects_test.exs +++ b/test/pleroma/web/activity_pub/side_effects_test.exs @@ -732,9 +732,7 @@ test "it streams out the announce", %{announce: announce} do ]) do {:ok, announce, _} = SideEffects.handle(announce) - assert called( - Pleroma.Web.Streamer.stream(["user", "list", "public", "public:local"], announce) - ) + assert called(Pleroma.Web.Streamer.stream(["user", "list"], announce)) assert called(Pleroma.Web.Push.send(:_)) end diff --git a/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs index ad3692f74..4890d5135 100644 --- a/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs +++ b/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs @@ -63,7 +63,7 @@ test "it works for incoming misskey likes that contain unicode emojis, turning t File.read!("test/fixtures/misskey-like.json") |> Jason.decode!() |> Map.put("object", activity.data["object"]) - |> Map.put("_misskey_reaction", "⭐") + |> Map.put("content", "⭐") _actor = insert(:user, ap_id: data["actor"], local: false) diff --git a/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs index 002042802..9ca12c747 100644 --- a/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs +++ b/test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs @@ -316,7 +316,7 @@ test "it strips internal reactions" do test "it correctly processes messages with non-array to field" do data = File.read!("test/fixtures/mastodon-post-activity.json") - |> Poison.decode!() + |> Jason.decode!() |> Map.put("to", "https://www.w3.org/ns/activitystreams#Public") |> put_in(["object", "to"], "https://www.w3.org/ns/activitystreams#Public") @@ -333,7 +333,7 @@ test "it correctly processes messages with non-array to field" do test "it correctly processes messages with non-array cc field" do data = File.read!("test/fixtures/mastodon-post-activity.json") - |> Poison.decode!() + |> Jason.decode!() |> Map.put("cc", "http://mastodon.example.org/users/admin/followers") |> put_in(["object", "cc"], "http://mastodon.example.org/users/admin/followers") @@ -346,7 +346,7 @@ test "it correctly processes messages with non-array cc field" do test "it correctly processes messages with weirdness in address fields" do data = File.read!("test/fixtures/mastodon-post-activity.json") - |> Poison.decode!() + |> Jason.decode!() |> Map.put("cc", ["http://mastodon.example.org/users/admin/followers", ["¿"]]) |> put_in(["object", "cc"], ["http://mastodon.example.org/users/admin/followers", ["¿"]]) @@ -412,7 +412,7 @@ test "does NOT schedule background fetching of `replies` beyond max thread depth activity = File.read!("test/fixtures/mastodon-post-activity.json") - |> Poison.decode!() + |> Jason.decode!() |> Kernel.put_in(["object", "replies"], replies) %{activity: activity} @@ -783,4 +783,42 @@ test "quote fetching should stop after n levels", _ do } = Transmogrifier.fix_quote_url(note) end end + + test "the standalone note uses its own ID when context is missing" do + insert(:user, ap_id: "https://mk.absturztau.be/users/8ozbzjs3o8") + + activity = + "test/fixtures/tesla_mock/mk.absturztau.be-93e7nm8wqg-activity.json" + |> File.read!() + |> Jason.decode!() + + {:ok, %Activity{} = modified} = Transmogrifier.handle_incoming(activity) + object = Object.normalize(modified, fetch: false) + + assert object.data["context"] == object.data["id"] + assert modified.data["context"] == object.data["id"] + end + + test "the reply note uses its parent's ID when context is missing and reply is unreachable" do + insert(:user, ap_id: "https://mk.absturztau.be/users/8ozbzjs3o8") + + activity = + "test/fixtures/tesla_mock/mk.absturztau.be-93e7nm8wqg-activity.json" + |> File.read!() + |> Jason.decode!() + + object = + activity["object"] + |> Map.put("inReplyTo", "https://404.site/object/went-to-buy-milk") + + activity = + activity + |> Map.put("object", object) + + {:ok, %Activity{} = modified} = Transmogrifier.handle_incoming(activity) + object = Object.normalize(modified, fetch: false) + + assert object.data["context"] == object.data["inReplyTo"] + assert modified.data["context"] == object.data["inReplyTo"] + end end diff --git a/test/pleroma/web/common_api_test.exs b/test/pleroma/web/common_api_test.exs index 2b7a34be2..e877048cc 100644 --- a/test/pleroma/web/common_api_test.exs +++ b/test/pleroma/web/common_api_test.exs @@ -71,6 +71,7 @@ test "it posts a poll" do test "it blocks and federates", %{blocker: blocker, blocked: blocked} do clear_config([:instance, :federating], true) + clear_config([:activitypub, :outgoing_blocks], true) with_mock Pleroma.Web.Federator, publish: fn _ -> nil end do @@ -224,6 +225,20 @@ test "superusers deleting non-local posts won't federate the delete" do refute Activity.get_by_id(post.id) end + + test "it allows privileged users to delete banned user's posts" do + clear_config([:instance, :moderator_privileges], [:messages_delete]) + user = insert(:user) + moderator = insert(:user, is_moderator: true) + + {:ok, post} = CommonAPI.post(user, %{status: "namu amida butsu"}) + User.set_activation(user, false) + + assert {:ok, delete} = CommonAPI.delete(post.id, moderator) + assert delete.local + + refute Activity.get_by_id(post.id) + end end test "favoriting race condition" do diff --git a/test/pleroma/web/embed_controller_test.exs b/test/pleroma/web/embed_controller_test.exs new file mode 100644 index 000000000..caf328cc5 --- /dev/null +++ b/test/pleroma/web/embed_controller_test.exs @@ -0,0 +1,44 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2021 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.EmbedControllerTest do + use Pleroma.Web.ConnCase, async: true + import Pleroma.Factory + + test "/embed", %{conn: conn} do + activity = insert(:note_activity) + + resp = + conn + |> get("/embed/#{activity.id}") + |> response(200) + + object = Pleroma.Object.get_by_ap_id(activity.data["object"]) + + assert String.contains?(resp, object.data["content"]) + end + + test "/embed with a restricted post", %{conn: conn} do + activity = insert(:note_activity) + clear_config([:restrict_unauthenticated, :activities, :local], true) + + conn + |> get("/embed/#{activity.id}") + |> response(401) + end + + test "/embed with a private post", %{conn: conn} do + user = insert(:user) + + {:ok, activity} = + Pleroma.Web.CommonAPI.post(user, %{ + status: "Mega ultra chicken status: #fried", + visibility: "private" + }) + + conn + |> get("/embed/#{activity.id}") + |> response(401) + end +end diff --git a/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs index bbede76e9..84214e4bc 100644 --- a/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs @@ -1895,6 +1895,39 @@ test "getting a list of blocks" do assert [%{"id" => ^id2}] = result end + test "list of blocks with with_relationships parameter" do + %{user: user, conn: conn} = oauth_access(["read:blocks"]) + %{id: id1} = other_user1 = insert(:user) + %{id: id2} = other_user2 = insert(:user) + %{id: id3} = other_user3 = insert(:user) + + {:ok, _, _} = User.follow(other_user1, user) + {:ok, _, _} = User.follow(other_user2, user) + {:ok, _, _} = User.follow(other_user3, user) + + {:ok, _} = User.block(user, other_user1) + {:ok, _} = User.block(user, other_user2) + {:ok, _} = User.block(user, other_user3) + + assert [ + %{ + "id" => ^id1, + "pleroma" => %{"relationship" => %{"blocking" => true, "followed_by" => false}} + }, + %{ + "id" => ^id2, + "pleroma" => %{"relationship" => %{"blocking" => true, "followed_by" => false}} + }, + %{ + "id" => ^id3, + "pleroma" => %{"relationship" => %{"blocking" => true, "followed_by" => false}} + } + ] = + conn + |> get("/api/v1/blocks?with_relationships=true") + |> json_response_and_validate_schema(200) + end + test "account lookup", %{conn: conn} do %{nickname: acct} = insert(:user, %{nickname: "nickname"}) %{nickname: acct_two} = insert(:user, %{nickname: "nickname@notlocaldoma.in"}) diff --git a/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs index 99f037483..1d8a67e6b 100644 --- a/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs @@ -85,6 +85,40 @@ test "a filter with expires_in", %{conn: conn, user: user} do assert Repo.aggregate(Filter, :count, :id) == 0 end + + test "a filter with expires_at", %{conn: conn, user: user} do + response = + with_mock NaiveDateTime, [:passthrough], utc_now: fn -> ~N[2017-03-17 17:09:58] end do + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/filters", %{ + "phrase" => "bad memes", + context: ["home"], + expires_at: "2017-03-17T17:19:58.000Z" + }) + |> json_response_and_validate_schema(200) + end + + assert response["irreversible"] == false + + assert response["expires_at"] == "2017-03-17T17:19:58.000Z" + + filter = Filter.get(response["id"], user) + + id = filter.id + + assert_enqueued( + worker: PurgeExpiredFilter, + args: %{filter_id: filter.id} + ) + + assert {:ok, %{id: ^id}} = + perform_job(PurgeExpiredFilter, %{ + filter_id: filter.id + }) + + assert Repo.aggregate(Filter, :count, :id) == 0 + end end test "fetching a list of filters" do diff --git a/test/pleroma/web/mastodon_api/controllers/follow_request_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/follow_request_controller_test.exs index 069ffb3d6..e3f59d886 100644 --- a/test/pleroma/web/mastodon_api/controllers/follow_request_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/follow_request_controller_test.exs @@ -10,6 +10,11 @@ defmodule Pleroma.Web.MastodonAPI.FollowRequestControllerTest do import Pleroma.Factory + defp extract_next_link_header(header) do + [_, next_link] = Regex.run(~r{<(?.*)>; rel="next"}, header) + next_link + end + describe "locked accounts" do setup do user = insert(:user, is_locked: true) @@ -31,6 +36,23 @@ test "/api/v1/follow_requests works", %{user: user, conn: conn} do assert to_string(other_user.id) == relationship["id"] end + test "/api/v1/follow_requests paginates", %{user: user, conn: conn} do + for _ <- 1..21 do + other_user = insert(:user) + {:ok, _, _, _activity} = CommonAPI.follow(other_user, user) + {:ok, _, _} = User.follow(other_user, user, :follow_pending) + end + + conn = get(conn, "/api/v1/follow_requests") + assert length(json_response_and_validate_schema(conn, 200)) == 20 + assert [link_header] = get_resp_header(conn, "link") + assert link_header =~ "rel=\"next\"" + next_link = extract_next_link_header(link_header) + assert next_link =~ "/api/v1/follow_requests" + conn = get(conn, next_link) + assert length(json_response_and_validate_schema(conn, 200)) == 1 + end + test "/api/v1/follow_requests/:id/authorize works", %{user: user, conn: conn} do other_user = insert(:user) diff --git a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs index 50b9febea..7ff8cff6b 100644 --- a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs @@ -124,6 +124,23 @@ test "/api/v2/media, upload_limit", %{conn: conn, user: user} do assert :ok == File.rm(Path.absname("test/tmp/large_binary.data")) end + + test "Do not allow nested filename", %{conn: conn, image: image} do + image = %Plug.Upload{ + image + | filename: "../../../../../nested/file.jpg" + } + + desc = "Description of the image" + + media = + conn + |> put_req_header("content-type", "multipart/form-data") + |> post("/api/v1/media", %{"file" => image, "description" => desc}) + |> json_response_and_validate_schema(:ok) + + refute Regex.match?(~r"/nested/", media["url"]) + end end describe "Update media description" do diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs index 6f04975b8..3d0a88d7e 100644 --- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs @@ -674,7 +674,10 @@ test "option limit is enforced", %{conn: conn} do |> put_req_header("content-type", "application/json") |> post("/api/v1/statuses", %{ "status" => "desu~", - "poll" => %{"options" => Enum.map(0..limit, fn _ -> "desu" end), "expires_in" => 1} + "poll" => %{ + "options" => Enum.map(0..limit, fn num -> "desu #{num}" end), + "expires_in" => 1 + } }) %{"error" => error} = json_response_and_validate_schema(conn, 422) @@ -690,7 +693,7 @@ test "option character limit is enforced", %{conn: conn} do |> post("/api/v1/statuses", %{ "status" => "...", "poll" => %{ - "options" => [Enum.reduce(0..limit, "", fn _, acc -> acc <> "." end)], + "options" => [String.duplicate(".", limit + 1), "lol"], "expires_in" => 1 } }) @@ -772,6 +775,32 @@ test "scheduled poll", %{conn: conn} do assert object.data["type"] == "Question" assert length(object.data["oneOf"]) == 3 end + + test "cannot have only one option", %{conn: conn} do + conn = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/statuses", %{ + "status" => "desu~", + "poll" => %{"options" => ["mew"], "expires_in" => 1} + }) + + %{"error" => error} = json_response_and_validate_schema(conn, 422) + assert error == "Poll must contain at least 2 options" + end + + test "cannot have only duplicated options", %{conn: conn} do + conn = + conn + |> put_req_header("content-type", "application/json") + |> post("/api/v1/statuses", %{ + "status" => "desu~", + "poll" => %{"options" => ["mew", "mew"], "expires_in" => 1} + }) + + %{"error" => error} = json_response_and_validate_schema(conn, 422) + assert error == "Poll must contain at least 2 options" + end end test "get a status" do @@ -1044,6 +1073,27 @@ test "when you're an admin or moderator", %{conn: conn} do refute Activity.get_by_id(activity1.id) refute Activity.get_by_id(activity2.id) end + + test "when you're privileged and the user is banned", %{conn: conn} do + clear_config([:instance, :moderator_privileges], [:messages_delete]) + posting_user = insert(:user, is_active: false) + refute posting_user.is_active + activity = insert(:note_activity, user: posting_user) + user = insert(:user, is_moderator: true) + + res_conn = + conn + |> assign(:user, user) + |> assign(:token, insert(:oauth_token, user: user, scopes: ["write:statuses"])) + |> delete("/api/v1/statuses/#{activity.id}") + + assert %{} = json_response_and_validate_schema(res_conn, 200) + + # assert ModerationLog |> Repo.one() |> ModerationLog.get_log_entry_message() == + # "@#{user.nickname} deleted status ##{activity.id}" + + refute Activity.get_by_id(activity.id) + end end describe "reblogging" do @@ -1960,6 +2010,10 @@ test "index" do {:ok, _} = CommonAPI.react_with_emoji(activity.id, other_user, "🎅") User.mute(user, other_user) + deactivated_user = insert(:user) + {:ok, _} = CommonAPI.react_with_emoji(activity.id, deactivated_user, "🎅") + User.set_activation(deactivated_user, false) + result = conn |> get("/api/v1/statuses/?ids[]=#{activity.id}") @@ -1967,6 +2021,7 @@ test "index" do assert [ %{ + "emoji_reactions" => [], "pleroma" => %{ "emoji_reactions" => [] } diff --git a/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs index aa9006681..eed12234f 100644 --- a/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/timeline_controller_test.exs @@ -408,6 +408,25 @@ test "should not return local-only posts for anonymous users" do assert [] = result end + + test "should return 404 if disabled" do + clear_config([:instance, :federated_timeline_available], false) + + result = + build_conn() + |> get("/api/v1/timelines/public") + |> json_response_and_validate_schema(404) + + assert %{"error" => "Federated timeline is disabled"} = result + end + + test "should not return 404 if local is specified" do + clear_config([:instance, :federated_timeline_available], false) + + build_conn() + |> get("/api/v1/timelines/public?local=true") + |> json_response_and_validate_schema(200) + end end defp local_and_remote_activities do @@ -1036,9 +1055,8 @@ test "with `%{local: true, federated: false}`, forbids unauthenticated access to end describe "bubble" do - setup do: oauth_access(["read:statuses"]) - - test "filtering", %{conn: conn, user: user} do + test "filtering" do + %{conn: conn, user: user} = oauth_access(["read:statuses"]) clear_config([:instance, :local_bubble], []) # our endpoint host has a port in it so let's set the AP ID local_user = insert(:user, %{ap_id: "https://localhost/users/user"}) @@ -1060,7 +1078,7 @@ test "filtering", %{conn: conn, user: user} do assert local_activity.id in one_instance - # If we have others, also include theirs + # If we have others, also include theirs clear_config([:instance, :local_bubble], ["example.com"]) two_instances = @@ -1072,6 +1090,20 @@ test "filtering", %{conn: conn, user: user} do assert local_activity.id in two_instances assert remote_activity.id in two_instances end + + test "restrict_unauthenticated with bubble timeline", %{conn: conn} do + clear_config([:restrict_unauthenticated, :timelines, :bubble], true) + + conn + |> get("/api/v1/timelines/bubble") + |> json_response_and_validate_schema(:unauthorized) + + clear_config([:restrict_unauthenticated, :timelines, :bubble], false) + + conn + |> get("/api/v1/timelines/bubble") + |> json_response_and_validate_schema(200) + end end defp create_remote_activity(user) do diff --git a/test/pleroma/web/mastodon_api/update_credentials_test.exs b/test/pleroma/web/mastodon_api/update_credentials_test.exs index e9b8825bf..70566f5d0 100644 --- a/test/pleroma/web/mastodon_api/update_credentials_test.exs +++ b/test/pleroma/web/mastodon_api/update_credentials_test.exs @@ -396,6 +396,34 @@ test "updates the user's background, upload_limit, returns a HTTP 413", %{ assert :ok == File.rm(Path.absname("test/tmp/large_binary.data")) end + test "Strip / from upload files", %{user: user, conn: conn} do + new_image = %Plug.Upload{ + content_type: "image/jpeg", + path: Path.absname("test/fixtures/image.jpg"), + filename: "../../../../nested/an_image.jpg" + } + + assert user.avatar == %{} + + res = + patch(conn, "/api/v1/accounts/update_credentials", %{ + "avatar" => new_image, + "header" => new_image, + "pleroma_background_image" => new_image + }) + + assert user_response = json_response_and_validate_schema(res, 200) + assert user_response["avatar"] + assert user_response["header"] + assert user_response["pleroma"]["background_image"] + refute Regex.match?(~r"/nested/", user_response["avatar"]) + refute Regex.match?(~r"/nested/", user_response["header"]) + refute Regex.match?(~r"/nested/", user_response["pleroma"]["background_image"]) + + user = User.get_by_id(user.id) + refute user.avatar == %{} + end + test "requires 'write:accounts' permission" do token1 = insert(:oauth_token, scopes: ["read"]) token2 = insert(:oauth_token, scopes: ["write", "follow"]) @@ -699,4 +727,56 @@ test "actor_type field has a higher priority than bot", %{conn: conn} do assert account["source"]["pleroma"]["actor_type"] == "Person" end end + + describe "Updating direct message settings" do + setup do: oauth_access(["write:accounts"]) + setup :request_content_type + + test "changing to :everybody", %{conn: conn} do + account = + conn + |> patch("/api/v1/accounts/update_credentials", %{ + accepts_direct_messages_from: "everybody" + }) + |> json_response_and_validate_schema(200) + + assert account["accepts_direct_messages_from"] + assert account["accepts_direct_messages_from"] == "everybody" + assert Pleroma.User.get_by_ap_id(account["url"]).accepts_direct_messages_from == :everybody + end + + test "changing to :nobody", %{conn: conn} do + account = + conn + |> patch("/api/v1/accounts/update_credentials", %{accepts_direct_messages_from: "nobody"}) + |> json_response_and_validate_schema(200) + + assert account["accepts_direct_messages_from"] + assert account["accepts_direct_messages_from"] == "nobody" + assert Pleroma.User.get_by_ap_id(account["url"]).accepts_direct_messages_from == :nobody + end + + test "changing to :people_i_follow", %{conn: conn} do + account = + conn + |> patch("/api/v1/accounts/update_credentials", %{ + accepts_direct_messages_from: "people_i_follow" + }) + |> json_response_and_validate_schema(200) + + assert account["accepts_direct_messages_from"] + assert account["accepts_direct_messages_from"] == "people_i_follow" + + assert Pleroma.User.get_by_ap_id(account["url"]).accepts_direct_messages_from == + :people_i_follow + end + + test "changing to an unsupported value", %{conn: conn} do + conn + |> patch("/api/v1/accounts/update_credentials", %{ + accepts_direct_messages_from: "unsupported" + }) + |> json_response(400) + end + end end diff --git a/test/pleroma/web/mastodon_api/views/account_view_test.exs b/test/pleroma/web/mastodon_api/views/account_view_test.exs index c9036d67d..a4f5f1f63 100644 --- a/test/pleroma/web/mastodon_api/views/account_view_test.exs +++ b/test/pleroma/web/mastodon_api/views/account_view_test.exs @@ -269,8 +269,8 @@ test "Represent a Service(bot) account" do } with_mock( - Pleroma.Web.Nodeinfo.NodeinfoController, - raw_nodeinfo: fn -> %{version: "2.0"} end + Pleroma.Web.Nodeinfo.Nodeinfo, + get_nodeinfo: fn _ -> %{version: "2.0"} end ) do assert expected == AccountView.render("show.json", %{user: user, skip_visibility_check: true}) @@ -397,7 +397,22 @@ test "represent a relationship for the blocking and blocked user" do expected = Map.merge( @blank_response, - %{following: false, blocking: true, blocked_by: true, id: to_string(other_user.id)} + %{following: false, blocking: true, blocked_by: false, id: to_string(other_user.id)} + ) + + test_relationship_rendering(user, other_user, expected) + end + + test "blocks are not visible to the blocked user" do + user = insert(:user) + other_user = insert(:user) + + {:ok, _user_relationship} = User.block(other_user, user) + + expected = + Map.merge( + @blank_response, + %{following: false, blocking: false, blocked_by: false, id: to_string(other_user.id)} ) test_relationship_rendering(user, other_user, expected) diff --git a/test/pleroma/web/mastodon_api/views/status_view_test.exs b/test/pleroma/web/mastodon_api/views/status_view_test.exs index b3f0a1781..682c633f4 100644 --- a/test/pleroma/web/mastodon_api/views/status_view_test.exs +++ b/test/pleroma/web/mastodon_api/views/status_view_test.exs @@ -594,6 +594,7 @@ test "a reblog" do represented = StatusView.render("show.json", %{for: user, activity: reblog}) assert represented[:id] == to_string(reblog.id) + assert represented[:content] == "" assert represented[:reblog][:id] == to_string(activity.id) assert represented[:emojis] == [] assert_schema(represented, "Status", Pleroma.Web.ApiSpec.spec()) diff --git a/test/pleroma/web/media_proxy_test.exs b/test/pleroma/web/media_proxy_test.exs index d97874f3a..71d7d605d 100644 --- a/test/pleroma/web/media_proxy_test.exs +++ b/test/pleroma/web/media_proxy_test.exs @@ -199,6 +199,15 @@ test "mediaproxy whitelist" do assert unencoded == url end + test "mediaproxy blocklist" do + clear_config([:media_proxy, :whitelist], ["https://google.com"]) + clear_config([:media_proxy, :blocklist], ["https://feld.me"]) + url = "https://feld.me/foo.png" + + unencoded = MediaProxy.url(url) + assert unencoded == url + end + # TODO: delete after removing support bare domains for media proxy whitelist test "mediaproxy whitelist bare domains whitelist (deprecated)" do clear_config([:media_proxy, :whitelist], ["google.com", "feld.me"]) @@ -220,6 +229,18 @@ test "does not change whitelisted urls" do assert String.starts_with?(encoded, media_url) end + test "does not change blocked urls" do + clear_config([:media_proxy, :whitelist], ["mycdn.akamai.com"]) + clear_config([:media_proxy, :base_url], "https://cache.pleroma.social") + + media_url = "https://mycdn.akamai.com" + + url = "#{media_url}/static/logo.png" + encoded = MediaProxy.url(url) + + assert String.starts_with?(encoded, media_url) + end + test "ensure Pleroma.Upload base_url is always whitelisted" do media_url = "https://media.pleroma.social" clear_config([Pleroma.Upload, :base_url], media_url) diff --git a/test/pleroma/web/metadata/providers/rel_me_test.exs b/test/pleroma/web/metadata/providers/rel_me_test.exs index 0db6e7d22..fedc49789 100644 --- a/test/pleroma/web/metadata/providers/rel_me_test.exs +++ b/test/pleroma/web/metadata/providers/rel_me_test.exs @@ -11,11 +11,24 @@ test "it renders all links with rel='me' from user bio" do bio = ~s(https://some-link.com https://another-link.com ) - user = insert(:user, %{bio: bio}) + fields = [ + %{ + "name" => "profile", + "value" => ~S(http://profile.com) + }, + %{ + "name" => "like", + "value" => ~S(http://cofe.io) + }, + %{"name" => "foo", "value" => "bar"} + ] + + user = insert(:user, %{bio: bio, fields: fields}) assert RelMe.build_tags(%{user: user}) == [ {:link, [rel: "me", href: "http://some3.com"], []}, - {:link, [rel: "me", href: "https://another-link.com"], []} + {:link, [rel: "me", href: "https://another-link.com"], []}, + {:link, [rel: "me", href: "http://profile.com"], []} ] end end diff --git a/test/pleroma/web/metadata/providers/twitter_card_test.exs b/test/pleroma/web/metadata/providers/twitter_card_test.exs index 5d7ad08ef..731447094 100644 --- a/test/pleroma/web/metadata/providers/twitter_card_test.exs +++ b/test/pleroma/web/metadata/providers/twitter_card_test.exs @@ -22,10 +22,10 @@ test "it renders twitter card for user info" do res = TwitterCard.build_tags(%{user: user}) assert res == [ - {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, - {:meta, [property: "twitter:description", content: "born 19 March 1994"], []}, - {:meta, [property: "twitter:image", content: avatar_url], []}, - {:meta, [property: "twitter:card", content: "summary"], []} + {:meta, [name: "twitter:title", content: Utils.user_name_string(user)], []}, + {:meta, [name: "twitter:description", content: "born 19 March 1994"], []}, + {:meta, [name: "twitter:image", content: avatar_url], []}, + {:meta, [name: "twitter:card", content: "summary"], []} ] end @@ -47,11 +47,11 @@ test "it uses summary twittercard if post has no attachment" do result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) assert [ - {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, - {:meta, [property: "twitter:description", content: "pleroma in a nutshell"], []}, - {:meta, [property: "twitter:image", content: "http://localhost:4001/images/avi.png"], + {:meta, [name: "twitter:title", content: Utils.user_name_string(user)], []}, + {:meta, [name: "twitter:description", content: "pleroma in a nutshell"], []}, + {:meta, [name: "twitter:image", content: "http://localhost:4001/images/avi.png"], []}, - {:meta, [property: "twitter:card", content: "summary"], []} + {:meta, [name: "twitter:card", content: "summary"], []} ] == result end @@ -73,15 +73,15 @@ test "it uses summary as description if post has one" do result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) assert [ - {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, + {:meta, [name: "twitter:title", content: Utils.user_name_string(user)], []}, {:meta, [ - property: "twitter:description", + name: "twitter:description", content: "Public service announcement on caffeine consumption" ], []}, - {:meta, [property: "twitter:image", content: "http://localhost:4001/images/avi.png"], + {:meta, [name: "twitter:image", content: "http://localhost:4001/images/avi.png"], []}, - {:meta, [property: "twitter:card", content: "summary"], []} + {:meta, [name: "twitter:card", content: "summary"], []} ] == result end @@ -123,11 +123,11 @@ test "it renders avatar not attachment if post is nsfw and unfurl_nsfw is disabl result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) assert [ - {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, - {:meta, [property: "twitter:description", content: "pleroma in a nutshell"], []}, - {:meta, [property: "twitter:image", content: "http://localhost:4001/images/avi.png"], + {:meta, [name: "twitter:title", content: Utils.user_name_string(user)], []}, + {:meta, [name: "twitter:description", content: "pleroma in a nutshell"], []}, + {:meta, [name: "twitter:image", content: "http://localhost:4001/images/avi.png"], []}, - {:meta, [property: "twitter:card", content: "summary"], []} + {:meta, [name: "twitter:card", content: "summary"], []} ] == result end @@ -179,26 +179,26 @@ test "it renders supported types of attachments and skips unknown types" do result = TwitterCard.build_tags(%{object: note, user: user, activity_id: activity.id}) assert [ - {:meta, [property: "twitter:title", content: Utils.user_name_string(user)], []}, - {:meta, [property: "twitter:description", content: "pleroma in a nutshell"], []}, - {:meta, [property: "twitter:card", content: "summary_large_image"], []}, - {:meta, [property: "twitter:player", content: "https://pleroma.gov/tenshi.png"], []}, - {:meta, [property: "twitter:player:width", content: "1280"], []}, - {:meta, [property: "twitter:player:height", content: "1024"], []}, - {:meta, [property: "twitter:card", content: "player"], []}, + {:meta, [name: "twitter:title", content: Utils.user_name_string(user)], []}, + {:meta, [name: "twitter:description", content: "pleroma in a nutshell"], []}, + {:meta, [name: "twitter:card", content: "summary_large_image"], []}, + {:meta, [name: "twitter:player", content: "https://pleroma.gov/tenshi.png"], []}, + {:meta, [name: "twitter:player:width", content: "1280"], []}, + {:meta, [name: "twitter:player:height", content: "1024"], []}, + {:meta, [name: "twitter:card", content: "player"], []}, {:meta, [ - property: "twitter:player", + name: "twitter:player", content: Router.Helpers.o_status_url(Endpoint, :notice_player, activity.id) ], []}, - {:meta, [property: "twitter:player:width", content: "800"], []}, - {:meta, [property: "twitter:player:height", content: "600"], []}, + {:meta, [name: "twitter:player:width", content: "800"], []}, + {:meta, [name: "twitter:player:height", content: "600"], []}, {:meta, [ - property: "twitter:player:stream", + name: "twitter:player:stream", content: "https://pleroma.gov/about/juche.webm" ], []}, - {:meta, [property: "twitter:player:stream:content_type", content: "video/webm"], []} + {:meta, [name: "twitter:player:stream:content_type", content: "video/webm"], []} ] == result end end diff --git a/test/pleroma/web/node_info_test.exs b/test/pleroma/web/node_info_test.exs index 05a078266..ff14db460 100644 --- a/test/pleroma/web/node_info_test.exs +++ b/test/pleroma/web/node_info_test.exs @@ -292,4 +292,38 @@ test "shows extra information in the mrf_simple_info field for relevant entries" assert response["metadata"]["federation"]["mrf_simple_info"] == expected_config end end + + describe "public timeline visibility" do + test "shows public timeline visibility", %{conn: conn} do + clear_config([:restrict_unauthenticated, :timelines], %{local: false, federated: false}) + + response = + conn + |> get("/nodeinfo/2.1.json") + |> json_response(:ok) + + assert response["metadata"]["publicTimelineVisibility"]["local"] == true + assert response["metadata"]["publicTimelineVisibility"]["federated"] == true + + clear_config([:restrict_unauthenticated, :timelines], %{local: true, federated: false}) + + response = + conn + |> get("/nodeinfo/2.1.json") + |> json_response(:ok) + + assert response["metadata"]["publicTimelineVisibility"]["local"] == false + assert response["metadata"]["publicTimelineVisibility"]["federated"] == true + + clear_config([:restrict_unauthenticated, :timelines], %{local: false, federated: true}) + + response = + conn + |> get("/nodeinfo/2.1.json") + |> json_response(:ok) + + assert response["metadata"]["publicTimelineVisibility"]["local"] == true + assert response["metadata"]["publicTimelineVisibility"]["federated"] == false + end + end end diff --git a/test/pleroma/web/o_auth/o_auth_controller_test.exs b/test/pleroma/web/o_auth/o_auth_controller_test.exs index 303bc2cf2..c996a403c 100644 --- a/test/pleroma/web/o_auth/o_auth_controller_test.exs +++ b/test/pleroma/web/o_auth/o_auth_controller_test.exs @@ -728,6 +728,42 @@ test "redirects with oauth authorization, " <> assert auth.scopes == scopes_subset end + test "redirects with oauth authorization, " <> + "granting requested app-supported scopes to moderators" do + app_scopes = ["read", "write", "admin", "secret_scope"] + app = insert(:oauth_app, scopes: app_scopes) + redirect_uri = OAuthController.default_redirect_uri(app) + scopes_subset = ["read:subscope", "write", "admin"] + admin = insert(:user, is_moderator: true) + + # In case scope param is missing, expecting _all_ app-supported scopes to be granted + conn = + post( + build_conn(), + "/oauth/authorize", + %{ + "authorization" => %{ + "name" => admin.nickname, + "password" => "test", + "client_id" => app.client_id, + "redirect_uri" => redirect_uri, + "scope" => scopes_subset, + "state" => "statepassed" + } + } + ) + + target = redirected_to(conn) + assert target =~ redirect_uri + + query = URI.parse(target).query |> URI.query_decoder() |> Map.new() + + assert %{"state" => "statepassed", "code" => code} = query + auth = Repo.get_by(Authorization, token: code) + assert auth + assert auth.scopes == scopes_subset + end + test "redirects with oauth authorization, " <> "granting requested app-supported scopes for non-admin users" do app_scopes = ["read", "write", "secret_scope", "admin"] diff --git a/test/pleroma/web/plugs/frontend_static_plug_test.exs b/test/pleroma/web/plugs/frontend_static_plug_test.exs index 66e6ba4ca..815e888ee 100644 --- a/test/pleroma/web/plugs/frontend_static_plug_test.exs +++ b/test/pleroma/web/plugs/frontend_static_plug_test.exs @@ -83,6 +83,7 @@ test "api routes are detected correctly" do "main", "ostatus_subscribe", "oauth", + "akkoma", "objects", "activities", "notice", diff --git a/test/pleroma/web/plugs/http_security_plug_test.exs b/test/pleroma/web/plugs/http_security_plug_test.exs index d88d4624f..96fff304e 100644 --- a/test/pleroma/web/plugs/http_security_plug_test.exs +++ b/test/pleroma/web/plugs/http_security_plug_test.exs @@ -128,6 +128,12 @@ test "with media_proxy bare domains whitelist (deprecated)", %{conn: conn} do clear_config([:media_proxy, :whitelist], ["example4.com", "example5.com"]) assert_media_img_src(conn, "example5.com example4.com") end + + test "with media_proxy blocklist", %{conn: conn} do + clear_config([:media_proxy, :whitelist], ["https://example6.com", "https://example7.com"]) + clear_config([:media_proxy, :blocklist], ["https://example8.com"]) + assert_media_img_src(conn, "https://example7.com https://example6.com") + end end defp assert_media_img_src(conn, url) do diff --git a/test/pleroma/web/plugs/mapped_signature_to_identity_plug_test.exs b/test/pleroma/web/plugs/mapped_signature_to_identity_plug_test.exs index 21c574ba3..c42b82810 100644 --- a/test/pleroma/web/plugs/mapped_signature_to_identity_plug_test.exs +++ b/test/pleroma/web/plugs/mapped_signature_to_identity_plug_test.exs @@ -69,6 +69,47 @@ test "it considers a mapped identity to be invalid when the associated instance assert %{valid_signature: false} == conn.assigns end + test "allowlist federation: it considers a mapped identity to be valid when the associated instance is allowed" do + clear_config([:activitypub, :authorized_fetch_mode], true) + + clear_config([:mrf_simple, :accept], [ + {"mastodon.example.org", "anime is allowed"} + ]) + + on_exit(fn -> + Pleroma.Config.put([:activitypub, :authorized_fetch_mode], false) + Pleroma.Config.put([:mrf_simple, :accept], []) + end) + + conn = + build_conn(:post, "/doesntmattter", %{"actor" => "http://mastodon.example.org/users/admin"}) + |> set_signature("http://mastodon.example.org/users/admin") + |> MappedSignatureToIdentityPlug.call(%{}) + + assert conn.assigns[:valid_signature] + refute is_nil(conn.assigns.user) + end + + test "allowlist federation: it considers a mapped identity to be invalid when the associated instance is not allowed" do + clear_config([:activitypub, :authorized_fetch_mode], true) + + clear_config([:mrf_simple, :accept], [ + {"misskey.example.org", "anime is allowed"} + ]) + + on_exit(fn -> + Pleroma.Config.put([:activitypub, :authorized_fetch_mode], false) + Pleroma.Config.put([:mrf_simple, :accept], []) + end) + + conn = + build_conn(:post, "/doesntmattter", %{"actor" => "http://mastodon.example.org/users/admin"}) + |> set_signature("http://mastodon.example.org/users/admin") + |> MappedSignatureToIdentityPlug.call(%{}) + + assert %{valid_signature: false} == conn.assigns + end + @tag skip: "known breakage; the testsuite presently depends on it" test "it considers a mapped identity to be invalid when the identity cannot be found" do conn = diff --git a/test/pleroma/web/plugs/uploaded_media_plug_test.exs b/test/pleroma/web/plugs/uploaded_media_plug_test.exs index c71a7e789..50e0f1bf3 100644 --- a/test/pleroma/web/plugs/uploaded_media_plug_test.exs +++ b/test/pleroma/web/plugs/uploaded_media_plug_test.exs @@ -33,11 +33,11 @@ test "does not send Content-Disposition header when name param is not set", %{ test "sends Content-Disposition header when name param is set", %{ attachment_url: attachment_url } do - conn = get(build_conn(), attachment_url <> "?name=\"cofe\".gif") + conn = get(build_conn(), attachment_url <> ~s[?name="cofe".gif]) assert Enum.any?( conn.resp_headers, - &(&1 == {"content-disposition", "filename=\"\\\"cofe\\\".gif\""}) + &(&1 == {"content-disposition", ~s[inline; filename="\\"cofe\\".gif"]}) ) end @@ -48,7 +48,7 @@ test "removes control characters from the Content-Disposition header", %{ assert Enum.any?( conn.resp_headers, - &(&1 == {"content-disposition", "filename=\"\\\"cofe\\\".gif\""}) + &(&1 == {"content-disposition", ~s[inline; filename="\\"cofe\\".gif"]}) ) end end diff --git a/test/pleroma/web/rel_me_test.exs b/test/pleroma/web/rel_me_test.exs index 313b163b5..fc7abd732 100644 --- a/test/pleroma/web/rel_me_test.exs +++ b/test/pleroma/web/rel_me_test.exs @@ -26,13 +26,12 @@ test "parse/1" do test "maybe_put_rel_me/2" do profile_urls = ["https://social.example.org/users/lain"] attr = "me" - fallback = nil assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/null", profile_urls) == - fallback + {:error, {:could_not_verify, "http://example.com/rel_me/null", {:link_match, false}}} - assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/error", profile_urls) == - fallback + assert {:error, {:could_not_fetch, "http://example.com/rel_me/error", _}} = + Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/error", profile_urls) assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/anchor", profile_urls) == attr diff --git a/test/pleroma/web/rich_media/parser_test.exs b/test/pleroma/web/rich_media/parser_test.exs index b6444ac82..5479bc15d 100644 --- a/test/pleroma/web/rich_media/parser_test.exs +++ b/test/pleroma/web/rich_media/parser_test.exs @@ -129,7 +129,7 @@ test "parses twitter card" do }} end - test "parses OEmbed" do + test "parses OEmbed and filters HTML tags" do assert Parser.parse("http://example.com/oembed") == {:ok, %{ @@ -139,7 +139,7 @@ test "parses OEmbed" do "flickr_type" => "photo", "height" => "768", "html" => - "\"Bacon", + "\"Bacon", "license" => "All Rights Reserved", "license_id" => 0, "provider_name" => "Flickr", diff --git a/test/pleroma/web/streamer_test.exs b/test/pleroma/web/streamer_test.exs index b07c16faa..5bd04fe9f 100644 --- a/test/pleroma/web/streamer_test.exs +++ b/test/pleroma/web/streamer_test.exs @@ -25,6 +25,26 @@ test "allows public" do assert {:ok, "public:local:media"} = Streamer.get_topic("public:local:media", nil, nil) end + test "rejects local public streams if restricted_unauthenticated is on" do + clear_config([:restrict_unauthenticated, :timelines, :local], true) + + assert {:error, :unauthorized} = Streamer.get_topic("public:local", nil, nil) + assert {:error, :unauthorized} = Streamer.get_topic("public:local:media", nil, nil) + end + + test "rejects remote public streams if restricted_unauthenticated is on" do + clear_config([:restrict_unauthenticated, :timelines, :federated], true) + + assert {:error, :unauthorized} = Streamer.get_topic("public", nil, nil) + assert {:error, :unauthorized} = Streamer.get_topic("public:media", nil, nil) + + assert {:error, :unauthorized} = + Streamer.get_topic("public:remote", nil, nil, %{"instance" => "lain.com"}) + + assert {:error, :unauthorized} = + Streamer.get_topic("public:remote:media", nil, nil, %{"instance" => "lain.com"}) + end + test "allows instance streams" do assert {:ok, "public:remote:lain.com"} = Streamer.get_topic("public:remote", nil, nil, %{"instance" => "lain.com"}) @@ -65,6 +85,63 @@ test "allows public streams (regardless of OAuth token scopes)", %{ end end + test "allows local public streams if restricted_unauthenticated is on", %{ + user: user, + token: oauth_token + } do + clear_config([:restrict_unauthenticated, :timelines, :local], true) + + %{token: read_notifications_token} = oauth_access(["read:notifications"], user: user) + %{token: badly_scoped_token} = oauth_access(["irrelevant:scope"], user: user) + + assert {:ok, "public:local"} = Streamer.get_topic("public:local", user, oauth_token) + + assert {:ok, "public:local:media"} = + Streamer.get_topic("public:local:media", user, oauth_token) + + for token <- [read_notifications_token, badly_scoped_token] do + assert {:error, :unauthorized} = Streamer.get_topic("public:local", user, token) + + assert {:error, :unauthorized} = Streamer.get_topic("public:local:media", user, token) + end + end + + test "allows remote public streams if restricted_unauthenticated is on", %{ + user: user, + token: oauth_token + } do + clear_config([:restrict_unauthenticated, :timelines, :federated], true) + + %{token: read_notifications_token} = oauth_access(["read:notifications"], user: user) + %{token: badly_scoped_token} = oauth_access(["irrelevant:scope"], user: user) + + assert {:ok, "public"} = Streamer.get_topic("public", user, oauth_token) + assert {:ok, "public:media"} = Streamer.get_topic("public:media", user, oauth_token) + + assert {:ok, "public:remote:lain.com"} = + Streamer.get_topic("public:remote", user, oauth_token, %{"instance" => "lain.com"}) + + assert {:ok, "public:remote:media:lain.com"} = + Streamer.get_topic("public:remote:media", user, oauth_token, %{ + "instance" => "lain.com" + }) + + for token <- [read_notifications_token, badly_scoped_token] do + assert {:error, :unauthorized} = Streamer.get_topic("public", user, token) + assert {:error, :unauthorized} = Streamer.get_topic("public:media", user, token) + + assert {:error, :unauthorized} = + Streamer.get_topic("public:remote", user, token, %{ + "instance" => "lain.com" + }) + + assert {:error, :unauthorized} = + Streamer.get_topic("public:remote:media", user, token, %{ + "instance" => "lain.com" + }) + end + end + test "allows user streams (with proper OAuth token scopes)", %{ user: user, token: read_oauth_token diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex index ab44c489b..18fec3e4b 100644 --- a/test/support/http_request_mock.ex +++ b/test/support/http_request_mock.ex @@ -1085,6 +1085,14 @@ def get("http://404.site" <> _, _, _, _) do }} end + def get("https://404.site" <> _, _, _, _) do + {:ok, + %Tesla.Env{ + status: 404, + body: "" + }} + end + def get( "https://zetsubou.xn--q9jyb4c/.well-known/webfinger?resource=acct:lain@zetsubou.xn--q9jyb4c", _, @@ -1399,6 +1407,15 @@ def get("https://mk.absturztau.be/notes/93e7nm8wqg", _, _, _) do }} end + def get("https://mk.absturztau.be/notes/93e7nm8wqg/activity", _, _, _) do + {:ok, + %Tesla.Env{ + status: 200, + body: File.read!("test/fixtures/tesla_mock/mk.absturztau.be-93e7nm8wqg-activity.json"), + headers: activitypub_object_headers() + }} + end + def get("https://p.helene.moe/objects/fd5910ac-d9dc-412e-8d1d-914b203296c4", _, _, _) do {:ok, %Tesla.Env{