Merge branch 'fix-link-to-instance-on-follow' into 'main'

Fix link on instance follow email

Closes #1008

See merge request framasoft/mobilizon!1155
chapril
Thomas Citharel 1 year ago
commit 769d164159

@ -185,6 +185,12 @@ config :phoenix, :filter_parameters, ["password", "token"]
config :absinthe, schema: Mobilizon.GraphQL.Schema
config :absinthe, Absinthe.Logger, filter_variables: ["token", "password", "secret"]
config :codepagex, :encodings, [
:ascii,
~r[iso8859]i,
:"VENDORS/MICSFT/WINDOWS/CP1252"
]
config :mobilizon, Mobilizon.Web.Gettext, split_module_by: [:locale, :domain]
config :ex_cldr,

@ -1,118 +0,0 @@
<template>
<b-autocomplete
:data="baseData"
:placeholder="$t('Actor')"
v-model="name"
field="preferredUsername"
:loading="$apollo.loading"
check-infinite-scroll
@typing="getAsyncData"
@select="handleSelect"
@infinite-scroll="getAsyncData"
>
<template #default="props">
<div class="media">
<div class="media-left">
<img
width="32"
:src="props.option.avatar.url"
v-if="props.option.avatar"
alt=""
/>
<b-icon v-else icon="account-circle" />
</div>
<div class="media-content">
<span v-if="props.option.name">
{{ props.option.name }}
<br />
<small>{{ `@${props.option.preferredUsername}` }}</small>
<small v-if="props.option.domain">{{
`@${props.option.domain}`
}}</small>
</span>
<span v-else>
{{ `@${props.option.preferredUsername}` }}
</span>
</div>
</div>
</template>
<template slot="footer">
<span class="has-text-grey" v-show="page > totalPages">
Thats it! No more movies found.
</span>
</template>
</b-autocomplete>
</template>
<script lang="ts">
import { Component, Model, Vue, Watch } from "vue-property-decorator";
import debounce from "lodash/debounce";
import { IPerson } from "@/types/actor";
import { SEARCH_PERSONS } from "@/graphql/search";
import { Paginate } from "@/types/paginate";
const SEARCH_PERSON_LIMIT = 10;
@Component
export default class ActorAutoComplete extends Vue {
@Model("change", { type: Object }) readonly defaultSelected!: IPerson | null;
baseData: IPerson[] = [];
selected: IPerson | null = this.defaultSelected;
name: string = this.defaultSelected
? this.defaultSelected.preferredUsername
: "";
page = 1;
totalPages = 1;
mounted(): void {
this.selected = this.defaultSelected;
}
data(): Record<string, unknown> {
return {
getAsyncData: debounce(this.doGetAsyncData, 500),
};
}
@Watch("defaultSelected")
updateDefaultSelected(defaultSelected: IPerson): void {
console.log("update defaultSelected", defaultSelected);
this.selected = defaultSelected;
this.name = defaultSelected.preferredUsername;
}
handleSelect(selected: IPerson): void {
this.selected = selected;
this.$emit("change", selected);
}
async doGetAsyncData(name: string): Promise<void> {
this.baseData = [];
if (this.name !== name) {
this.name = name;
this.page = 1;
}
if (!name.length) {
this.page = 1;
this.totalPages = 1;
return;
}
const {
data: { searchPersons },
} = await this.$apollo.query<{ searchPersons: Paginate<IPerson> }>({
query: SEARCH_PERSONS,
variables: {
searchText: this.name,
page: this.page,
limit: SEARCH_PERSON_LIMIT,
},
});
this.totalPages = Math.ceil(searchPersons.total / SEARCH_PERSON_LIMIT);
this.baseData.push(...searchPersons.elements);
}
}
</script>

@ -9,20 +9,22 @@
<div class="actor-name">
<p>
{{ actor.name || `@${usernameWithDomain(actor)}` }}
{{ displayName(actor) }}
</p>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue, Prop } from "vue-property-decorator";
import { IActor, usernameWithDomain } from "../../types/actor";
import { displayName, IActor, usernameWithDomain } from "../../types/actor";
@Component
export default class ActorInline extends Vue {
@Prop({ required: true, type: Object }) actor!: IActor;
usernameWithDomain = usernameWithDomain;
displayName = displayName;
}
</script>
<style lang="scss" scoped>

@ -7,6 +7,8 @@ import apolloProvider from "@/vue-apollo";
import { IPerson } from "@/types/actor";
import pDebounce from "p-debounce";
import { NormalizedCacheObject } from "@apollo/client/cache/inmemory/types";
import { MentionOptions } from "@tiptap/extension-mention";
import { Editor } from "@tiptap/core";
const client =
apolloProvider.defaultClient as ApolloClient<NormalizedCacheObject>;
@ -24,13 +26,21 @@ const fetchItems = async (query: string): Promise<IPerson[]> => {
const debouncedFetchItems = pDebounce(fetchItems, 200);
const mentionOptions: Partial<any> = {
const mentionOptions: MentionOptions = {
HTMLAttributes: {
class: "mention",
dir: "ltr",
},
renderLabel({ options, node }) {
return `${options.suggestion.char}${node.attrs.label ?? node.attrs.id}`;
},
suggestion: {
items: async (query: string): Promise<IPerson[]> => {
items: async ({
query,
}: {
query: string;
editor: Editor;
}): Promise<IPerson[]> => {
if (query === "") {
return [];
}
@ -70,8 +80,12 @@ const mentionOptions: Partial<any> = {
return component.ref?.onKeyDown(props);
},
onExit() {
popup[0].destroy();
component.destroy();
if (popup && popup[0]) {
popup[0].destroy();
}
if (component) {
component.destroy();
}
},
};
},

@ -7,7 +7,7 @@
:key="index"
@click="selectItem(index)"
>
<actor-card :actor="item" />
<actor-inline :actor="item" />
</button>
</div>
</template>
@ -16,11 +16,11 @@
import { Vue, Component, Prop, Watch } from "vue-property-decorator";
import { displayName, usernameWithDomain } from "@/types/actor/actor.model";
import { IPerson } from "@/types/actor";
import ActorCard from "../../components/Account/ActorCard.vue";
import ActorInline from "../../components/Account/ActorInline.vue";
@Component({
components: {
ActorCard,
ActorInline,
},
})
export default class MentionList extends Vue {

@ -7,9 +7,7 @@
<b-field :label="$t('Title')">
<b-input v-model="title" />
</b-field>
<b-field :label="$t('Assigned to')">
<actor-auto-complete v-model="assignedTo" />
</b-field>
<b-field :label="$t('Assigned to')"> </b-field>
<b-field :label="$t('Due on')">
<b-datepicker v-model="dueDate" :first-day-of-week="firstDayOfWeek" />
</b-field>
@ -17,19 +15,15 @@
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from "vue-property-decorator";
import { Prop, Vue } from "vue-property-decorator";
import debounce from "lodash/debounce";
import { DebouncedFunc } from "lodash";
import { SnackbarProgrammatic as Snackbar } from "buefy";
import { ITodo } from "../../types/todos";
import RouteName from "../../router/name";
import { UPDATE_TODO } from "../../graphql/todos";
import ActorAutoComplete from "../Account/ActorAutoComplete.vue";
import { IPerson } from "../../types/actor";
@Component({
components: { ActorAutoComplete },
})
export default class Todo extends Vue {
@Prop({ required: true, type: Object }) todo!: ITodo;

@ -94,8 +94,7 @@ defmodule Mobilizon.Service.Formatter do
options = linkify_opts() ++ options
acc = %{mentions: MapSet.new(), tags: MapSet.new()}
{text, %{mentions: mentions}} = Linkify.link_map(text, acc, options)
{text, tags} = extract_tags(text)
{text, %{mentions: mentions, tags: tags}} = Linkify.link_map(text, acc, options)
{text, MapSet.to_list(mentions), MapSet.to_list(tags)}
end
@ -157,46 +156,10 @@ defmodule Mobilizon.Service.Formatter do
defp linkify_opts do
Mobilizon.Config.get(__MODULE__) ++
[
hashtag: false,
hashtag: true,
hashtag_handler: &__MODULE__.hashtag_handler/4,
mention: true,
mention_handler: &__MODULE__.mention_handler/4
]
end
@match_hashtag ~r/(?:^|[^\p{L}\p{M}\p{Nd}\)])(?<tag>\#[[:word:]_]*[[:alpha:]_·][[:word:]_·\p{M}]*)/u
@spec extract_tags(String.t()) :: {String.t(), MapSet.t()}
def extract_tags(text) do
matches =
@match_hashtag
|> Regex.scan(text, capture: [:tag])
|> Enum.map(&hd/1)
|> Enum.map(&{&1, tag_text_strip(&1)})
|> MapSet.new()
text =
@match_hashtag
|> Regex.replace(text, &generate_tag_link/2)
|> String.trim()
{text, matches}
end
@spec generate_tag_link(String.t(), String.t()) :: String.t()
defp generate_tag_link(_, tag_text) do
tag = tag_text_strip(tag_text)
url = "#{Endpoint.url()}/tag/#{tag}"
Tag.content_tag(:a, tag_text,
class: "hashtag",
"data-tag": tag,
href: url,
rel: "tag ugc"
)
|> Phoenix.HTML.safe_to_string()
|> (&" #{&1}").()
end
@spec tag_text_strip(String.t()) :: String.t()
defp tag_text_strip(tag), do: tag |> String.trim("#") |> String.downcase()
end

@ -74,6 +74,7 @@ defmodule Mobilizon.Service.RichMedia.Parser do
{:is_html, _response_headers, true} <-
{:is_html, response_headers, is_html(response_headers)} do
body
|> convert_utf8(response_headers)
|> maybe_parse()
|> Map.put(:url, url)
|> maybe_add_favicon()
@ -86,6 +87,10 @@ defmodule Mobilizon.Service.RichMedia.Parser do
{:ok, data}
{:ok, err} ->
Logger.debug("HTTP error: #{inspect(err)}")
{:error, "HTTP error: #{inspect(err)}"}
{:error, err} ->
Logger.debug("HTTP error: #{inspect(err)}")
{:error, "HTTP error: #{inspect(err)}"}
@ -195,6 +200,8 @@ defmodule Mobilizon.Service.RichMedia.Parser do
@spec maybe_parse(String.t()) :: map()
defp maybe_parse(html) do
Enum.reduce_while(parsers(), %{}, fn parser, acc ->
Logger.debug("Using #{inspect(parser)} to parse link")
case parser.parse(html, acc) do
{:ok, data} ->
{:halt, data}
@ -307,14 +314,88 @@ defmodule Mobilizon.Service.RichMedia.Parser do
# Twitter requires a well-know crawler user-agent to show server-rendered data
defp default_user_agent("https://twitter.com/" <> _) do
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Config.instance_user_agent() <> " (compatible; bot)"
end
defp default_user_agent("https://mobile.twitter.com/" <> _) do
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Config.instance_user_agent() <> " (compatible; bot)"
end
defp default_user_agent(_url) do
Config.instance_user_agent()
end
defp convert_utf8(body, headers) do
headers
|> get_header("Content-Type")
|> handle_charset(body)
end
defp handle_charset(nil, body) do
case detect_charset_from_meta(body) do
"" -> body
nil -> body
charset -> convert_body(body, charset)
end
end
defp handle_charset(content_type, body) do
case charset_from_content_type(content_type) do
nil -> handle_charset(nil, body)
charset -> convert_body(body, charset)
end
end
defp charset_from_content_type(content_type) do
with [_, params] <- :binary.split(content_type, ";"),
%{"charset" => charset} <- Utils.params(params) do
charset
else
_ -> nil
end
end
defp detect_charset_from_meta(body) do
Logger.debug("Trying to detect charset from meta")
document = Floki.parse_document!(body)
case document
|> Floki.find("meta[http-equiv=\"content-type\"]")
|> List.first() do
nil ->
case document
|> Floki.find("meta[http-equiv=\"Content-Type\"]")
|> List.first() do
nil -> nil
meta -> content_type_from_meta(meta)
end
meta ->
content_type_from_meta(meta)
end
end
defp content_type_from_meta(meta) do
Logger.debug("Finding content-type into <meta> element")
meta
|> Floki.attribute("content")
|> List.first()
|> String.trim()
|> charset_from_content_type()
end
defp convert_body(body, "utf-8"), do: body
defp convert_body(body, charset) do
Logger.debug("Converting body from #{charset}")
Codepagex.to_string!(body, fix_charset(charset))
end
defp fix_charset("windows-1252"), do: :"VENDORS/MICSFT/WINDOWS/CP1252"
defp fix_charset(charset) do
String.replace(charset, "-", "_")
end
end

@ -35,7 +35,7 @@ defmodule Mobilizon.Service.RichMedia.Parsers.Fallback do
defp get_page(html, :title) do
html
|> Floki.parse_document!()
|> Floki.find("html title")
|> Floki.find("title")
|> List.first()
|> Floki.text()
|> String.trim()

@ -53,7 +53,10 @@ defmodule Mobilizon.Service.RichMedia.Parsers.MetaTagsParser do
end)
if data[to_string(key_name)] in Enum.map(allowed_attributes, &to_string/1) do
%{String.to_existing_atom(data[to_string(key_name)]) => data[to_string(value_name)]}
%{
String.to_existing_atom(data[to_string(key_name)]) =>
String.trim(data[to_string(value_name)])
}
else
%{}
end
@ -65,7 +68,7 @@ defmodule Mobilizon.Service.RichMedia.Parsers.MetaTagsParser do
defp maybe_put_title(meta, html) when meta != %{} do
case get_page_title(html) do
"" -> meta
title -> Map.put_new(meta, :title, title)
title -> Map.put_new(meta, :title, String.trim(title))
end
end
@ -80,7 +83,7 @@ defmodule Mobilizon.Service.RichMedia.Parsers.MetaTagsParser do
meta
description ->
Map.put_new(meta, :description, description)
Map.put_new(meta, :description, String.trim(description))
end
end

@ -67,7 +67,7 @@ defmodule Mobilizon.Service.RichMedia.Parsers.OEmbed do
{:ok, data} <- Jason.decode(json),
data <-
data
|> Map.new(fn {k, v} -> {String.to_existing_atom(k), v} end)
|> Map.new(fn {k, v} -> {String.to_existing_atom(k), String.trim(v)} end)
|> Map.take(@oembed_allowed_attributes) do
{:ok, data}
end

@ -54,6 +54,7 @@ defmodule Mobilizon.Service.RichMedia.Parsers.OGP do
defp transform_tags(data) do
data
|> Enum.reject(fn {_, v} -> is_nil(v) end)
|> Enum.map(fn {k, v} -> {k, String.trim(v)} end)
|> Map.new()
|> Map.update(:image_remote_url, Map.get(data, :image), & &1)
|> Map.update(:width, get_integer_value(data, :"image:width"), & &1)

@ -63,6 +63,7 @@ defmodule Mobilizon.Service.RichMedia.Parsers.TwitterCard do
defp transform_tags(data) do
data
|> Enum.reject(fn {_, v} -> is_nil(v) end)
|> Enum.map(fn {k, v} -> {k, String.trim(v)} end)
|> Map.new()
|> Map.update(:image_remote_url, Map.get(data, :image), & &1)
end

@ -20,7 +20,7 @@ defmodule Mobilizon.Web.Email.Follow do
def send_notification_to_admins(
%Follower{
# approved: false,
actor: %Actor{} = follower,
actor: %Actor{type: :Application} = follower,
target_actor: %Actor{id: target_actor_id}
} = _follow
) do

@ -35,21 +35,25 @@
<tr>
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0;">
<%= gettext("<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events.", name: @follower.name, domain: @follower.domain) |> raw %>
<%= if @follower.type == :Application do %><%= gettext("<b>%{name} (%{domain})</b> just requested to follow your instance.", name: @follower.name, domain: @follower.domain) |> raw %><% else %><%= gettext("<b>%{name}</b> just requested to follow your instance.", name: Mobilizon.Actors.Actor.display_name_and_username(@follower)) |> raw %><% end %>
<br />
<%= if @follower.type == :Application do %><%= gettext "If you accept, this instance will receive all of your public events." %><% else %><%= gettext "If you accept, this profile will receive all of your public events." %><% end %>
</p>
</td>
</tr>
<%= if @follower.type == :Application do %>
<tr>
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0;">
<%= gettext("Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: @follower.name, domain: @follower.domain) %>
<%= gettext "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: @follower.name, domain: @follower.domain %>
</p>
</td>
</tr>
<% end %>
<tr>
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 40px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0">
<%= gettext "To accept this invitation, head over to the instance's admin settings." %>
<%= if @follower.type == :Application do %><%= gettext "To accept this invitation, head over to the instance's admin settings." %><% else %><%= gettext "To accept this invitation, head over to the profile's admin page." %><% end %>
</p>
</td>
</tr>
@ -62,9 +66,15 @@
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" style="border-radius: 3px;" bgcolor="#3C376E">
<a href={"#{ "#{Mobilizon.Web.Endpoint.url()}/settings/admin/relays/followers" }"} target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;">
<%= gettext "See the federation settings" %>
<%= if @follower.type == :Application do %>
<a href={"#{ "#{Mobilizon.Web.Endpoint.url()}/settings/admin/instances/#{@follower.domain}" }"} target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;">
<%= gettext "View the details" %>
</a>
<% else %>
<a href={"#{ "#{Mobilizon.Web.Endpoint.url()}/settings/admin/profiles/#{@follower.id}" }"} target="_blank" style="font-size: 20px; font-family: Helvetica, Arial, sans-serif; color: #ffffff; text-decoration: none; padding: 15px 25px; border-radius: 2px; border: 1px solid #3C376E; display: inline-block;">
<%= gettext "View the details" %>
</a>
<% end %>
</td>
</tr>
</table>

@ -1,7 +1,10 @@
<%= gettext "Want to connect?" %>
==
<%= gettext "%{name} (%{domain}) just requested to follow your instance.", name: @follower.name, domain: @follower.domain %>
<%= gettext "If you accept, this instance will receive all of your public events." %>
<%= gettext "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: @follower.name, domain: @follower.domain %>
<%= gettext "To accept this invitation, head over to the instance's admin settings." %>
<%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/relays/followers" %>
<%= if @follower.type == :Application do %><%= gettext "%{name} (%{domain}) just requested to follow your instance.", name: @follower.name, domain: @follower.domain %><% else %><%= gettext "%{name} just requested to follow your instance.", name: Mobilizon.Actors.Actor.display_name_and_username(@follower) %><% end %>
<%= if @follower.type == :Application do %><%= gettext "If you accept, this instance will receive all of your public events." %><% else %><%= gettext "If you accept, this profile will receive all of your public events." %><% end %>
<%= if @follower.type == :Application do %><%= gettext "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too.", name: @follower.name, domain: @follower.domain %><% end %>
<%= if @follower.type == :Application do %><%= gettext "To accept this invitation, head over to the instance's admin settings." %><% else %><%= gettext "To accept this invitation, head over to the profile's admin page." %><% end %>
<%= if @follower.type == :Application do %><%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/relays/followers" %><% else %><%= "#{Mobilizon.Web.Endpoint.url()}/settings/admin/profiles/#{@follower.id}" %><% end %>

@ -203,6 +203,7 @@ defmodule Mobilizon.Mixfile do
{:export, "~> 0.1.0"},
{:tz_world, "~> 1.0"},
{:tzdata, "~> 1.1"},
{:codepagex, "~> 0.1.6"},
# Dev and test dependencies
{:phoenix_live_reload, "~> 1.2", only: [:dev, :e2e]},
{:ex_machina, "~> 2.3", only: [:dev, :test]},

@ -11,6 +11,7 @@
"cachex": {:hex, :cachex, "3.4.0", "868b2959ea4aeb328c6b60ff66c8d5123c083466ad3c33d3d8b5f142e13101fb", [: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", "370123b1ab4fba4d2965fb18f87fd758325709787c8c5fce35b3fe80645ccbe5"},
"certifi": {:hex, :certifi, "2.8.0", "d4fb0a6bb20b7c9c3643e22507e42f356ac090a1dcea9ab99e27e0376d695eba", [:rebar3], [], "hexpm", "6ac7efc1c6f8600b08d625292d4bbf584e14847ce1b6b5c44d983d273e1097ea"},
"cldr_utils": {:hex, :cldr_utils, "2.17.0", "05453797e5b89f936c54c5602ac881e46b1ba4423a803c27a414466f4b598c94", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}, {:certifi, "~> 2.5", [hex: :certifi, repo: "hexpm", optional: true]}, {:decimal, "~> 1.9 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm", "6077ddaaa155f27755638225617bdc00c004f39b3c9355b688e52a3fc98d57e8"},
"codepagex": {:hex, :codepagex, "0.1.6", "49110d09a25ee336a983281a48ef883da4c6190481e0b063afe2db481af6117e", [:mix], [], "hexpm", "1521461097dde281edf084062f525a4edc6a5e49f4fd1f5ec41c9c4955d5bd59"},
"combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"},
"comeonin": {:hex, :comeonin, "5.3.2", "5c2f893d05c56ae3f5e24c1b983c2d5dfb88c6d979c9287a76a7feb1e1d8d646", [:mix], [], "hexpm", "d0993402844c49539aeadb3fe46a3c9bd190f1ecf86b6f9ebd71957534c95f04"},
"connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"},

@ -1268,7 +1268,7 @@ msgid "A title is required for the post"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr ""
@ -1278,12 +1278,8 @@ msgid "%{name} requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
@ -1293,13 +1289,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
@ -1310,8 +1301,8 @@ msgid "Want to connect?"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
@ -1851,3 +1842,36 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1247,7 +1247,7 @@ msgid "A title is required for the post"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr ""
@ -1257,12 +1257,8 @@ msgid "%{name} requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
@ -1272,13 +1268,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
@ -1289,8 +1280,8 @@ msgid "Want to connect?"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
@ -1827,3 +1818,36 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1487,7 +1487,7 @@ msgid "A title is required for the post"
msgstr "Cal un títol per la publicació"
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr ""
"%{name} (%{domain}) acaba de demanar-vos poder seguir la vostra instància."
@ -1498,15 +1498,8 @@ msgid "%{name} requests to follow your instance"
msgstr "%{name} demana poder seguir la vostra instància"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
"<b>%{name} (%{domain})</b> acaba de demanar poder seguir la vostra "
"instància. Si accepteu, la seva instància rebrà totes les activitats "
"públiques de la vostra."
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr "Si accepteu, la instància rebrà totes les vostres activitats públiques."
@ -1517,13 +1510,8 @@ msgstr ""
"La instància %{name} (%{domain}) soŀlicita poder seguir la vostra instància"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr "Obre les opcions de federació"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
"Per acceptar la invitació, ves a la configuració d'administració de la "
@ -1536,8 +1524,8 @@ msgid "Want to connect?"
msgstr "Voleu connectar-vos?"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
"Nota: que us segueixi %{name} (%{domain}) no implica que vosaltres la "
@ -2087,3 +2075,39 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr "%{name} demana poder seguir la vostra instància"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr ""
"%{name} (%{domain}) acaba de demanar-vos poder seguir la vostra instància."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr "%{name} demana poder seguir la vostra instància"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr "Si accepteu, la instància rebrà totes les vostres activitats públiques."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
"Per acceptar la invitació, ves a la configuració d'administració de la "
"instància."
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1549,7 +1549,7 @@ msgid "A title is required for the post"
msgstr "U příspěvku je vyžadován nadpis"
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr "%{name} (%{domain}) právě požádal o sledování vaší instance."
@ -1559,15 +1559,8 @@ msgid "%{name} requests to follow your instance"
msgstr "%{name} žádá o sledování vaší instance"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
"<b>%{name} (%{domain})</b> právě požádal o sledování vaší instance. Pokud "
"souhlasíte, bude tato instance dostávat všechny veřejné události vaší "
"instance."
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
"Pokud souhlasíte, bude tato instance přijímat všechny vaše veřejné události."
@ -1578,13 +1571,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr "Instance %{name} (%{domain}) žádá o sledování vaší instance"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr "Viz nastavení federace"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
"Chcete-li tuto pozvánku přijmout, přejděte do nastavení správce instance."
@ -1596,8 +1584,8 @@ msgid "Want to connect?"
msgstr "Chcete se připojit?"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
"Poznámka: Když vás %{name} (%{domain}) sleduje, nemusí to nutně znamenat, že "
@ -2164,3 +2152,38 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr "%{name} žádá o sledování vaší instance"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr "%{name} (%{domain}) právě požádal o sledování vaší instance."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr "%{name} žádá o sledování vaší instance"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr ""
"Pokud souhlasíte, bude tato instance přijímat všechny vaše veřejné události."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
"Chcete-li tuto pozvánku přijmout, přejděte do nastavení správce instance."
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1590,7 +1590,7 @@ msgid "A title is required for the post"
msgstr "Für die Stelle wird ein Titel benötigt"
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr "%{name} (%{domain}) hat soeben angefordert, Ihrer Instanz zu folgen."
@ -1600,15 +1600,8 @@ msgid "%{name} requests to follow your instance"
msgstr "%{name} bittet darum, Ihrer Instanz zu folgen"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
"<b>%{name} (%{domain})</b> hat gerade angefordert, Ihrer Instanz zu folgen. "
"Wenn Sie akzeptieren, erhält diese Instanz alle öffentlichen Ereignisse "
"Ihrer Instanz."
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
"Wenn Sie akzeptieren, erhält diese Instanz alle Ihre öffentlichen Ereignisse."
@ -1619,13 +1612,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr "Instanz %{name} (%{domain}) bittet darum, Ihrer Instanz zu folgen"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr "Siehe in den Einstellungen für die Föderation"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
"Um diese Einladung anzunehmen, gehen Sie zu den Admin-Einstellungen der "
@ -1638,8 +1626,8 @@ msgid "Want to connect?"
msgstr "Sie wollen sich verbinden?"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
"Hinweis: Wenn %{name} (%{domain}) Ihnen folgt, bedeutet das nicht unbedingt, "
@ -2200,3 +2188,39 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr "%{name} bittet darum, Ihrer Instanz zu folgen"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr "%{name} (%{domain}) hat soeben angefordert, Ihrer Instanz zu folgen."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr "%{name} bittet darum, Ihrer Instanz zu folgen"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr ""
"Wenn Sie akzeptieren, erhält diese Instanz alle Ihre öffentlichen Ereignisse."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
"Um diese Einladung anzunehmen, gehen Sie zu den Admin-Einstellungen der "
"Instanz."
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1227,7 +1227,7 @@ msgid "A title is required for the post"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr ""
@ -1237,12 +1237,8 @@ msgid "%{name} requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
@ -1252,13 +1248,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
@ -1269,8 +1260,8 @@ msgid "Want to connect?"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
@ -1806,3 +1797,36 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1280,7 +1280,7 @@ msgid "A title is required for the post"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr ""
@ -1290,12 +1290,8 @@ msgid "%{name} requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
@ -1305,13 +1301,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr ""
@ -1322,8 +1313,8 @@ msgid "Want to connect?"
msgstr ""
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
@ -1859,3 +1850,36 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr ""
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1553,7 +1553,7 @@ msgid "A title is required for the post"
msgstr "Se requiere un título para la publicación"
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr "%{name} (%{domain}) sólo solicitó seguir su instancia."
@ -1563,14 +1563,8 @@ msgid "%{name} requests to follow your instance"
msgstr "%{name} solicita seguir tu instancia"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
"<b>%{name} (%{domain})</b> solo pedí seguir tu instancia. Si acepta, su "
"instancia recibirá todos los eventos públicos para su instancia."
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr "Si acepta, esta instancia recibirá todos sus eventos públicos."
@ -1580,13 +1574,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr "La instancia %{name} (%{domain}) solicita seguir tu instancia"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"
msgstr "Ver la configuración de la federación"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:52
#: lib/web/templates/email/instance_follow.text.eex:6
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the instance's admin settings."
msgstr "Para aceptar esta invitación, dirígete a tus grupos."
@ -1597,8 +1586,8 @@ msgid "Want to connect?"
msgstr "¿Quieres conectarte?"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:45
#: lib/web/templates/email/instance_follow.text.eex:5
#: lib/web/templates/email/instance_follow.html.heex:48
#: lib/web/templates/email/instance_follow.text.eex:7
msgid "Note: %{name} (%{domain}) following you doesn't necessarily imply that you follow this instance, but you can ask to follow them too."
msgstr ""
"Nota: el hecho que %{name} (%{domain} te siga, no implica necesariamente que "
@ -2162,3 +2151,36 @@ msgstr ""
#: lib/web/templates/email/admin_user_role_changed.html.heex:38
msgid "Hi there! We just wanted to inform you that an administrator from <b>%{instance}</b> just changed your account role."
msgstr ""
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} just requested to follow your instance."
msgstr "%{name} solicita seguir tu instancia"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance."
msgstr "%{name} (%{domain}) sólo solicitó seguir su instancia."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name}</b> just requested to follow your instance."
msgstr "%{name} solicita seguir tu instancia"
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this profile will receive all of your public events."
msgstr "Si acepta, esta instancia recibirá todos sus eventos públicos."
#, elixir-format, ex-autogen, fuzzy
#: lib/web/templates/email/instance_follow.html.heex:56
#: lib/web/templates/email/instance_follow.text.eex:9
msgid "To accept this invitation, head over to the profile's admin page."
msgstr "Para aceptar esta invitación, dirígete a tus grupos."
#, elixir-format, ex-autogen
#: lib/web/templates/email/instance_follow.html.heex:71
#: lib/web/templates/email/instance_follow.html.heex:75
msgid "View the details"
msgstr ""

@ -1525,7 +1525,7 @@ msgid "A title is required for the post"
msgstr "Julkaisulle vaaditaan otsikko"
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:3
#: lib/web/templates/email/instance_follow.text.eex:5
msgid "%{name} (%{domain}) just requested to follow your instance."
msgstr "%{name} (%{domain}) pyysi saada seurata palvelintasi."
@ -1535,15 +1535,8 @@ msgid "%{name} requests to follow your instance"
msgstr "%{name} pyytää saada seurata palvelintasi"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:38
msgid "<b>%{name} (%{domain})</b> just requested to follow your instance. If you accept, this instance will receive all of your instance's public events."
msgstr ""
"<b>%{name} (%{domain})</b> pyysi saada seurata palvelintasi. Jos hyväksyt "
"pyynnön, kyseiselle palvelimelle lähetetään kaikki julkiset tapahtumat tällä "
"palvelimella."
#, elixir-format
#: lib/web/templates/email/instance_follow.text.eex:4
#: lib/web/templates/email/instance_follow.html.heex:40
#: lib/web/templates/email/instance_follow.text.eex:6
msgid "If you accept, this instance will receive all of your public events."
msgstr ""
"Jos hyväksyt, kyseiselle palvelimelle lähetetään kaikki julkiset tapahtumasi."
@ -1554,13 +1547,8 @@ msgid "Instance %{name} (%{domain}) requests to follow your instance"
msgstr "Palvelin %{name} (%{domain}) haluaa seurata palvelintasi"
#, elixir-format
#: lib/web/templates/email/instance_follow.html.heex:66
msgid "See the federation settings"