Merge branch 'feature/change-config' into 'master'
Change the way config is handled See merge request framasoft/mobilizon!389
This commit is contained in:
commit
6646e3398a
22
.env.sample
22
.env.sample
@ -1,22 +0,0 @@
|
|||||||
# Settings
|
|
||||||
MOBILIZON_INSTANCE_NAME="<%= instance_name %>"
|
|
||||||
MOBILIZON_INSTANCE_HOST="<%= instance_domain %>"
|
|
||||||
MOBILIZON_INSTANCE_PORT=4002
|
|
||||||
MOBILIZON_INSTANCE_EMAIL="<%= instance_email %>"
|
|
||||||
MOBILIZON_INSTANCE_REGISTRATIONS_OPEN=true
|
|
||||||
|
|
||||||
# API
|
|
||||||
GRAPHQL_API_ENDPOINT="https://<%= instance_domain %>"
|
|
||||||
GRAPHQL_API_FULL_PATH=""
|
|
||||||
|
|
||||||
# APP
|
|
||||||
MIX_ENV=prod
|
|
||||||
MOBILIZON_LOGLEVEL="info"
|
|
||||||
MOBILIZON_SECRET="<%= instance_secret %>"
|
|
||||||
|
|
||||||
# Database
|
|
||||||
MOBILIZON_DATABASE_USERNAME="<%= database_username %>"
|
|
||||||
MOBILIZON_DATABASE_PASSWORD="<%= database_password %>"
|
|
||||||
MOBILIZON_DATABASE_DBNAME="<%= database_name %>"
|
|
||||||
MOBILIZON_DATABASE_HOST="<%= database_host %>"
|
|
||||||
MOBILIZON_DATABASE_PORT=<%= database_port %>
|
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -15,12 +15,6 @@ erl_crash.dump
|
|||||||
# variables.
|
# variables.
|
||||||
/config/*.secret.exs
|
/config/*.secret.exs
|
||||||
|
|
||||||
.env.production
|
|
||||||
.env.test
|
|
||||||
/.env
|
|
||||||
.env.2
|
|
||||||
.env.1
|
|
||||||
|
|
||||||
/setup_db.psql
|
/setup_db.psql
|
||||||
|
|
||||||
.elixir_ls
|
.elixir_ls
|
||||||
@ -35,6 +29,7 @@ site/
|
|||||||
test/fixtures/image_tmp.jpg
|
test/fixtures/image_tmp.jpg
|
||||||
test/uploads/
|
test/uploads/
|
||||||
uploads/*
|
uploads/*
|
||||||
|
release/
|
||||||
!uploads/.gitkeep
|
!uploads/.gitkeep
|
||||||
.idea
|
.idea
|
||||||
*.mo
|
*.mo
|
||||||
|
@ -24,7 +24,7 @@ cache:
|
|||||||
key: ${CI_COMMIT_REF_SLUG}
|
key: ${CI_COMMIT_REF_SLUG}
|
||||||
paths:
|
paths:
|
||||||
- ~/.cache/Cypress
|
- ~/.cache/Cypress
|
||||||
- build/
|
- _build/
|
||||||
- deps/
|
- deps/
|
||||||
- js/node_modules
|
- js/node_modules
|
||||||
- cache/Cypress
|
- cache/Cypress
|
||||||
@ -34,7 +34,7 @@ lint:
|
|||||||
script:
|
script:
|
||||||
- export EXITVALUE=0
|
- export EXITVALUE=0
|
||||||
- mix deps.get
|
- mix deps.get
|
||||||
- mix credo -a || export EXITVALUE=1
|
- mix credo --strict -a || export EXITVALUE=1
|
||||||
- mix format --check-formatted --dry-run || export EXITVALUE=1
|
- mix format --check-formatted --dry-run || export EXITVALUE=1
|
||||||
- cd js
|
- cd js
|
||||||
- yarn install
|
- yarn install
|
||||||
|
15
CHANGELOG.md
15
CHANGELOG.md
@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Special operations
|
||||||
|
Config has moved from `.env` files to a more traditional way to handle things in the Elixir world, with `.exs` files.
|
||||||
|
|
||||||
|
To migrate existing configuration, you can simply run `mix mobilizon.instance gen` and fill in the adequate values previously in `.env` files (you don't need to perform the operations to create the database).
|
||||||
|
|
||||||
|
A minimal file template [is available](https://framagit.org/framasoft/mobilizon/blob/master/priv/templates/config.template.eex) to check for missing configuration.
|
||||||
|
|
||||||
|
Also make sure to remove the `EnvironmentFile=` line from the systemd service and set `Environment=MIX_ENV=prod` instead. See [the updated file](https://framagit.org/framasoft/mobilizon/blob/master/support/systemd/mobilizon.service).
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Possibility to participate anonymously to an event
|
||||||
|
- Possibility to participate to a remote event (being redirected by providing federated identity)
|
||||||
|
|
||||||
## [1.0.0-beta.2] - 2019-12-18
|
## [1.0.0-beta.2] - 2019-12-18
|
||||||
|
|
||||||
### Special operations
|
### Special operations
|
||||||
|
2
Makefile
2
Makefile
@ -5,7 +5,7 @@ init:
|
|||||||
start: stop
|
start: stop
|
||||||
@bash docker/message.sh "starting Mobilizon with docker"
|
@bash docker/message.sh "starting Mobilizon with docker"
|
||||||
docker-compose up -d api
|
docker-compose up -d api
|
||||||
@bash docker/message.sh "started"
|
@bash docker/message.sh "Docker server started."
|
||||||
stop:
|
stop:
|
||||||
@bash docker/message.sh "stopping Mobilizon"
|
@bash docker/message.sh "stopping Mobilizon"
|
||||||
docker-compose down
|
docker-compose down
|
||||||
|
@ -10,15 +10,15 @@ config :mobilizon,
|
|||||||
ecto_repos: [Mobilizon.Storage.Repo],
|
ecto_repos: [Mobilizon.Storage.Repo],
|
||||||
env: Mix.env()
|
env: Mix.env()
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Storage.Repo, types: Mobilizon.Storage.PostgresTypes
|
||||||
|
|
||||||
config :mobilizon, :instance,
|
config :mobilizon, :instance,
|
||||||
name: System.get_env("MOBILIZON_INSTANCE_NAME") || "My Mobilizon Instance",
|
name: "My Mobilizon Instance",
|
||||||
description:
|
description: "Change this to a proper description of your instance",
|
||||||
System.get_env("MOBILIZON_INSTANCE_DESCRIPTION") ||
|
hostname: "localhost",
|
||||||
"Change this to a proper description of your instance",
|
registrations_open: false,
|
||||||
hostname: System.get_env("MOBILIZON_INSTANCE_HOST") || "localhost",
|
|
||||||
registrations_open: System.get_env("MOBILIZON_INSTANCE_REGISTRATIONS_OPEN") || false,
|
|
||||||
registration_email_whitelist: [],
|
registration_email_whitelist: [],
|
||||||
demo: System.get_env("MOBILIZON_INSTANCE_DEMO_MODE") || false,
|
demo: false,
|
||||||
repository: Mix.Project.config()[:source_url],
|
repository: Mix.Project.config()[:source_url],
|
||||||
allow_relay: true,
|
allow_relay: true,
|
||||||
# Federation is to be activated with Mobilizon 1.0.0-beta.2
|
# Federation is to be activated with Mobilizon 1.0.0-beta.2
|
||||||
@ -27,8 +27,8 @@ config :mobilizon, :instance,
|
|||||||
upload_limit: 10_000_000,
|
upload_limit: 10_000_000,
|
||||||
avatar_upload_limit: 2_000_000,
|
avatar_upload_limit: 2_000_000,
|
||||||
banner_upload_limit: 4_000_000,
|
banner_upload_limit: 4_000_000,
|
||||||
email_from: System.get_env("MOBILIZON_INSTANCE_EMAIL") || "noreply@localhost",
|
email_from: "noreply@localhost",
|
||||||
email_reply_to: System.get_env("MOBILIZON_INSTANCE_EMAIL") || "noreply@localhost"
|
email_reply_to: "noreply@localhost"
|
||||||
|
|
||||||
config :mime, :types, %{
|
config :mime, :types, %{
|
||||||
"application/activity+json" => ["activity-json"],
|
"application/activity+json" => ["activity-json"],
|
||||||
@ -37,10 +37,17 @@ config :mime, :types, %{
|
|||||||
|
|
||||||
# Configures the endpoint
|
# Configures the endpoint
|
||||||
config :mobilizon, Mobilizon.Web.Endpoint,
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
||||||
url: [host: "localhost"],
|
http: [
|
||||||
|
transport_options: [socket_opts: [:inet6]]
|
||||||
|
],
|
||||||
|
url: [
|
||||||
|
host: "mobilizon.local",
|
||||||
|
scheme: "https"
|
||||||
|
],
|
||||||
secret_key_base: "1yOazsoE0Wqu4kXk3uC5gu3jDbShOimTCzyFL3OjCdBmOXMyHX87Qmf3+Tu9s0iM",
|
secret_key_base: "1yOazsoE0Wqu4kXk3uC5gu3jDbShOimTCzyFL3OjCdBmOXMyHX87Qmf3+Tu9s0iM",
|
||||||
render_errors: [view: Mobilizon.Web.ErrorView, accepts: ~w(html json)],
|
render_errors: [view: Mobilizon.Web.ErrorView, accepts: ~w(html json)],
|
||||||
pubsub: [name: Mobilizon.PubSub, adapter: Phoenix.PubSub.PG2]
|
pubsub: [name: Mobilizon.PubSub, adapter: Phoenix.PubSub.PG2],
|
||||||
|
cache_static_manifest: "priv/static/manifest.json"
|
||||||
|
|
||||||
# Upload configuration
|
# Upload configuration
|
||||||
config :mobilizon, Mobilizon.Web.Upload,
|
config :mobilizon, Mobilizon.Web.Upload,
|
||||||
@ -73,14 +80,31 @@ config :mobilizon, :media_proxy,
|
|||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Web.Email.Mailer,
|
||||||
|
adapter: Bamboo.SMTPAdapter,
|
||||||
|
server: "localhost",
|
||||||
|
hostname: "localhost",
|
||||||
|
port: 25,
|
||||||
|
# or {:system, "SMTP_USERNAME"}
|
||||||
|
username: nil,
|
||||||
|
# or {:system, "SMTP_PASSWORD"}
|
||||||
|
password: nil,
|
||||||
|
# can be `:always` or `:never`
|
||||||
|
tls: :if_available,
|
||||||
|
# or {":system", ALLOWED_TLS_VERSIONS"} w/ comma seprated values (e.g. "tlsv1.1,tlsv1.2")
|
||||||
|
allowed_tls_versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
|
||||||
|
# can be `true`
|
||||||
|
ssl: false,
|
||||||
|
retries: 1,
|
||||||
|
# can be `true`
|
||||||
|
no_mx_lookups: false
|
||||||
|
|
||||||
# Configures Elixir's Logger
|
# Configures Elixir's Logger
|
||||||
config :logger, :console,
|
config :logger, :console,
|
||||||
format: "$time $metadata[$level] $message\n",
|
format: "$time $metadata[$level] $message\n",
|
||||||
metadata: [:request_id]
|
metadata: [:request_id]
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Web.Auth.Guardian,
|
config :mobilizon, Mobilizon.Web.Auth.Guardian, issuer: "mobilizon"
|
||||||
issuer: "mobilizon",
|
|
||||||
secret_key: "ty0WM7YBE3ojvxoUQxo8AERrNpfbXnIJ82ovkPdqbUFw31T5LcK8wGjaOiReVQjo"
|
|
||||||
|
|
||||||
config :guardian, Guardian.DB,
|
config :guardian, Guardian.DB,
|
||||||
repo: Mobilizon.Storage.Repo,
|
repo: Mobilizon.Storage.Repo,
|
||||||
@ -96,7 +120,7 @@ config :geolix,
|
|||||||
%{
|
%{
|
||||||
id: :city,
|
id: :city,
|
||||||
adapter: Geolix.Adapter.MMDB2,
|
adapter: Geolix.Adapter.MMDB2,
|
||||||
source: System.get_env("GEOLITE_CITIES_PATH") || "priv/data/GeoLite2-City.mmdb"
|
source: "priv/data/GeoLite2-City.mmdb"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -124,36 +148,31 @@ config :http_signatures,
|
|||||||
|
|
||||||
config :mobilizon, :activitypub, sign_object_fetches: true
|
config :mobilizon, :activitypub, sign_object_fetches: true
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geospatial.Nominatim
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.Nominatim,
|
config :mobilizon, Mobilizon.Service.Geospatial.Nominatim,
|
||||||
endpoint:
|
endpoint: "https://nominatim.openstreetmap.org",
|
||||||
System.get_env("GEOSPATIAL_NOMINATIM_ENDPOINT") || "https://nominatim.openstreetmap.org",
|
api_key: nil
|
||||||
api_key: System.get_env("GEOSPATIAL_NOMINATIM_API_KEY") || nil
|
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.Addok,
|
config :mobilizon, Mobilizon.Service.Geospatial.Addok,
|
||||||
endpoint: System.get_env("GEOSPATIAL_ADDOK_ENDPOINT") || "https://api-adresse.data.gouv.fr"
|
endpoint: "https://api-adresse.data.gouv.fr"
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.Photon,
|
config :mobilizon, Mobilizon.Service.Geospatial.Photon, endpoint: "https://photon.komoot.de"
|
||||||
endpoint: System.get_env("GEOSPATIAL_PHOTON_ENDPOINT") || "https://photon.komoot.de"
|
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.GoogleMaps,
|
config :mobilizon, Mobilizon.Service.Geospatial.GoogleMaps,
|
||||||
api_key: System.get_env("GEOSPATIAL_GOOGLE_MAPS_API_KEY") || nil,
|
api_key: nil,
|
||||||
fetch_place_details: System.get_env("GEOSPATIAL_GOOGLE_MAPS_FETCH_PLACE_DETAILS") || true
|
fetch_place_details: true
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.MapQuest,
|
config :mobilizon, Mobilizon.Service.Geospatial.MapQuest, api_key: nil
|
||||||
api_key: System.get_env("GEOSPATIAL_MAP_QUEST_API_KEY") || nil
|
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.Mimirsbrunn,
|
config :mobilizon, Mobilizon.Service.Geospatial.Mimirsbrunn, endpoint: nil
|
||||||
endpoint: System.get_env("GEOSPATIAL_MIMIRSBRUNN_ENDPOINT") || nil
|
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial.Pelias,
|
config :mobilizon, Mobilizon.Service.Geospatial.Pelias, endpoint: nil
|
||||||
endpoint: System.get_env("GEOSPATIAL_PELIAS_ENDPOINT") || nil
|
|
||||||
|
|
||||||
config :mobilizon, :maps,
|
config :mobilizon, :maps,
|
||||||
tiles: [
|
tiles: [
|
||||||
endpoint:
|
endpoint: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||||
System.get_env("MAPS_TILES_ENDPOINT") ||
|
attribution: "© The OpenStreetMap Contributors"
|
||||||
"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
|
||||||
attribution: System.get_env("MAPS_TILES_ATTRIBUTION")
|
|
||||||
]
|
]
|
||||||
|
|
||||||
config :mobilizon, :anonymous,
|
config :mobilizon, :anonymous,
|
||||||
|
@ -8,10 +8,10 @@ import Config
|
|||||||
# with brunch.io to recompile .js and .css sources.
|
# with brunch.io to recompile .js and .css sources.
|
||||||
config :mobilizon, Mobilizon.Web.Endpoint,
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
||||||
http: [
|
http: [
|
||||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4000
|
port: 4000
|
||||||
],
|
],
|
||||||
url: [
|
url: [
|
||||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "mobilizon.local",
|
host: System.get_env("MOBILIZON_INSTANCE_HOST", "mobilizon.local"),
|
||||||
port: 80,
|
port: 80,
|
||||||
scheme: "http"
|
scheme: "http"
|
||||||
],
|
],
|
||||||
@ -65,13 +65,36 @@ config :mobilizon, Mobilizon.Web.Email.Mailer, adapter: Bamboo.LocalAdapter
|
|||||||
|
|
||||||
# Configure your database
|
# Configure your database
|
||||||
config :mobilizon, Mobilizon.Storage.Repo,
|
config :mobilizon, Mobilizon.Storage.Repo,
|
||||||
types: Mobilizon.Storage.PostgresTypes,
|
username: System.get_env("MOBILIZON_DATABASE_USERNAME", "mobilizon"),
|
||||||
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon",
|
password: System.get_env("MOBILIZON_DATABASE_PASSWORD", "mobilizon"),
|
||||||
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
database: System.get_env("MOBILIZON_DATABASE_DBNAME", "mobilizon_dev"),
|
||||||
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_dev",
|
hostname: System.get_env("MOBILIZON_DATABASE_HOST", "localhost"),
|
||||||
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
|
port: "5432",
|
||||||
port: System.get_env("MOBILIZON_DATABASE_PORT") || "5432",
|
|
||||||
pool_size: 10,
|
pool_size: 10,
|
||||||
show_sensitive_data_on_connection_error: true
|
show_sensitive_data_on_connection_error: true
|
||||||
|
|
||||||
|
config :mobilizon, :instance,
|
||||||
|
name: System.get_env("MOBILIZON_INSTANCE_NAME", "Mobilizon"),
|
||||||
|
hostname: System.get_env("MOBILIZON_INSTANCE_HOST", "Mobilizon"),
|
||||||
|
email_from: System.get_env("MOBILIZON_INSTANCE_EMAIL"),
|
||||||
|
email_reply_to: System.get_env("MOBILIZON_INSTANCE_EMAIL"),
|
||||||
|
registrations_open: System.get_env("MOBILIZON_INSTANCE_REGISTRATIONS_OPEN") == "true"
|
||||||
|
|
||||||
config :mobilizon, :activitypub, sign_object_fetches: false
|
config :mobilizon, :activitypub, sign_object_fetches: false
|
||||||
|
|
||||||
|
require Logger
|
||||||
|
|
||||||
|
cond do
|
||||||
|
System.get_env("INSTANCE_CONFIG") &&
|
||||||
|
File.exists?("./config/#{System.get_env("INSTANCE_CONFIG")}") ->
|
||||||
|
import_config System.get_env("INSTANCE_CONFIG")
|
||||||
|
|
||||||
|
System.get_env("DOCKER", "false") == "false" && File.exists?("./config/dev.secret.exs") ->
|
||||||
|
import_config "dev.secret.exs"
|
||||||
|
|
||||||
|
System.get_env("DOCKER", "false") == "true" ->
|
||||||
|
Logger.info("Using environment configuration for Docker")
|
||||||
|
|
||||||
|
true ->
|
||||||
|
Logger.error("No configuration file found")
|
||||||
|
end
|
||||||
|
@ -2,86 +2,26 @@ import Config
|
|||||||
|
|
||||||
config :mobilizon, Mobilizon.Web.Endpoint,
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
||||||
http: [
|
http: [
|
||||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 4000,
|
port: 4000
|
||||||
transport_options: [socket_opts: [:inet6]]
|
|
||||||
],
|
],
|
||||||
url: [
|
url: [
|
||||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "mobilizon.me",
|
host: "mobilizon.local",
|
||||||
port: 443,
|
scheme: "https",
|
||||||
scheme: "https"
|
port: 443
|
||||||
],
|
]
|
||||||
secret_key_base:
|
|
||||||
System.get_env("MOBILIZON_SECRET") || "ThisShouldBeAVeryStrongStringPleaseReplaceMe",
|
|
||||||
cache_static_manifest: "priv/static/manifest.json"
|
|
||||||
|
|
||||||
# Configure your database
|
|
||||||
config :mobilizon, Mobilizon.Storage.Repo,
|
|
||||||
types: Mobilizon.Storage.PostgresTypes,
|
|
||||||
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon",
|
|
||||||
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
|
||||||
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_prod",
|
|
||||||
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
|
|
||||||
port: System.get_env("MOBILIZON_DATABASE_PORT") || "5432",
|
|
||||||
pool_size: 15
|
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Web.Email.Mailer,
|
|
||||||
adapter: Bamboo.SMTPAdapter,
|
|
||||||
server: "localhost",
|
|
||||||
hostname: "localhost",
|
|
||||||
port: 25,
|
|
||||||
# or {:system, "SMTP_USERNAME"}
|
|
||||||
username: nil,
|
|
||||||
# or {:system, "SMTP_PASSWORD"}
|
|
||||||
password: nil,
|
|
||||||
# can be `:always` or `:never`
|
|
||||||
tls: :if_available,
|
|
||||||
# or {":system", ALLOWED_TLS_VERSIONS"} w/ comma seprated values (e.g. "tlsv1.1,tlsv1.2")
|
|
||||||
allowed_tls_versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
|
|
||||||
# can be `true`
|
|
||||||
ssl: false,
|
|
||||||
retries: 1,
|
|
||||||
# can be `true`
|
|
||||||
no_mx_lookups: false
|
|
||||||
|
|
||||||
# Do not print debug messages in production
|
# Do not print debug messages in production
|
||||||
config :logger, level: System.get_env("MOBILIZON_LOGLEVEL") |> String.to_atom() || :info
|
config :logger, level: :info
|
||||||
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geospatial.Nominatim
|
cond do
|
||||||
|
System.get_env("INSTANCE_CONFIG") &&
|
||||||
|
File.exists?("./config/#{System.get_env("INSTANCE_CONFIG")}") ->
|
||||||
|
import_config System.get_env("INSTANCE_CONFIG")
|
||||||
|
|
||||||
# ## SSL Support
|
File.exists?("./config/dev.secret.exs") ->
|
||||||
#
|
import_config "dev.secret.exs"
|
||||||
# To get SSL working, you will need to add the `https` key
|
|
||||||
# to the previous section and set your `:url` port to 443:
|
|
||||||
#
|
|
||||||
# config :mobilizon, Mobilizon.Web.Endpoint,
|
|
||||||
# ...
|
|
||||||
# url: [host: "example.com", port: 443],
|
|
||||||
# https: [:inet6,
|
|
||||||
# port: 443,
|
|
||||||
# keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"),
|
|
||||||
# certfile: System.get_env("SOME_APP_SSL_CERT_PATH")]
|
|
||||||
#
|
|
||||||
# Where those two env variables return an absolute path to
|
|
||||||
# the key and cert in disk or a relative path inside priv,
|
|
||||||
# for example "priv/ssl/server.key".
|
|
||||||
#
|
|
||||||
# We also recommend setting `force_ssl`, ensuring no data is
|
|
||||||
# ever sent via http, always redirecting to https:
|
|
||||||
#
|
|
||||||
# config :mobilizon, Mobilizon.Web.Endpoint,
|
|
||||||
# force_ssl: [hsts: true]
|
|
||||||
#
|
|
||||||
# Check `Plug.SSL` for all available options in `force_ssl`.
|
|
||||||
|
|
||||||
# ## Using releases
|
true ->
|
||||||
#
|
require Logger
|
||||||
# If you are doing OTP releases, you need to instruct Phoenix
|
Logger.error("No configuration file found")
|
||||||
# to start the server for all endpoints:
|
end
|
||||||
#
|
|
||||||
# config :phoenix, :serve_endpoints, true
|
|
||||||
#
|
|
||||||
# Alternatively, you can configure exactly which server to
|
|
||||||
# start per endpoint:
|
|
||||||
#
|
|
||||||
# config :mobilizon, Mobilizon.Web.Endpoint, server: true
|
|
||||||
#
|
|
||||||
|
@ -8,11 +8,13 @@ config :mobilizon, :instance,
|
|||||||
# you can enable the server option below.
|
# you can enable the server option below.
|
||||||
config :mobilizon, Mobilizon.Web.Endpoint,
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
||||||
http: [
|
http: [
|
||||||
port: System.get_env("MOBILIZON_INSTANCE_PORT") || 80
|
port: 80
|
||||||
],
|
],
|
||||||
url: [
|
url: [
|
||||||
host: System.get_env("MOBILIZON_INSTANCE_HOST") || "mobilizon.test"
|
host: "mobilizon.test",
|
||||||
|
scheme: "http"
|
||||||
],
|
],
|
||||||
|
secret_key_base: "some secret",
|
||||||
server: false
|
server: false
|
||||||
|
|
||||||
# Print only warnings and errors during test
|
# Print only warnings and errors during test
|
||||||
@ -26,7 +28,7 @@ config :logger,
|
|||||||
# Configure your database
|
# Configure your database
|
||||||
config :mobilizon, Mobilizon.Storage.Repo,
|
config :mobilizon, Mobilizon.Storage.Repo,
|
||||||
types: Mobilizon.Storage.PostgresTypes,
|
types: Mobilizon.Storage.PostgresTypes,
|
||||||
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon",
|
username: System.get_env("MOBILIZON_DATABASE_USERNAME") || "mobilizon_test",
|
||||||
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
password: System.get_env("MOBILIZON_DATABASE_PASSWORD") || "mobilizon",
|
||||||
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_test",
|
database: System.get_env("MOBILIZON_DATABASE_DBNAME") || "mobilizon_test",
|
||||||
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
|
hostname: System.get_env("MOBILIZON_DATABASE_HOST") || "localhost",
|
||||||
@ -44,3 +46,9 @@ config :exvcr,
|
|||||||
config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geospatial.Mock
|
config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geospatial.Mock
|
||||||
|
|
||||||
config :mobilizon, Oban, queues: false, prune: :disabled
|
config :mobilizon, Oban, queues: false, prune: :disabled
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Web.Auth.Guardian, secret_key: "some secret"
|
||||||
|
|
||||||
|
if System.get_env("DOCKER", "false") == "false" && File.exists?("./config/test.secret.exs") do
|
||||||
|
import_config "test.secret.exs"
|
||||||
|
end
|
||||||
|
@ -22,6 +22,7 @@ services:
|
|||||||
- postgres
|
- postgres
|
||||||
environment:
|
environment:
|
||||||
MIX_ENV: "dev"
|
MIX_ENV: "dev"
|
||||||
|
DOCKER: "true"
|
||||||
MOBILIZON_INSTANCE_NAME: My Mobilizon Instance
|
MOBILIZON_INSTANCE_NAME: My Mobilizon Instance
|
||||||
MOBILIZON_INSTANCE_HOST: mobilizon.me
|
MOBILIZON_INSTANCE_HOST: mobilizon.me
|
||||||
MOBILIZON_INSTANCE_EMAIL: noreply@mobilizon.me
|
MOBILIZON_INSTANCE_EMAIL: noreply@mobilizon.me
|
||||||
|
@ -15,7 +15,7 @@ mix mobilizon.instance gen [<options>]
|
|||||||
|
|
||||||
### Options
|
### Options
|
||||||
* `-f`, `--force` Whether to erase existing files
|
* `-f`, `--force` Whether to erase existing files
|
||||||
* `-o`, `--output PATH` The path to output the `.env` file. Defaults to `.env.production`.
|
* `-o`, `--output PATH` The path to output the `prod.secret.exs` file. Defaults to `config/prod.secret.exs`.
|
||||||
* `--output_psql PATH` The path to output the SQL script. Defaults to `setup_db.psql`.
|
* `--output_psql PATH` The path to output the SQL script. Defaults to `setup_db.psql`.
|
||||||
* `--domain DOMAIN` The instance's domain
|
* `--domain DOMAIN` The instance's domain
|
||||||
* `--instance_name INSTANCE_NAME` The instance's name
|
* `--instance_name INSTANCE_NAME` The instance's name
|
||||||
@ -25,34 +25,3 @@ mix mobilizon.instance gen [<options>]
|
|||||||
* `--dbuser DBUSER` The database user (aka role) to use for the database connection
|
* `--dbuser DBUSER` The database user (aka role) to use for the database connection
|
||||||
* `--dbpass DBPASS` The database user's password to use for the database connection
|
* `--dbpass DBPASS` The database user's password to use for the database connection
|
||||||
* `--dbport DBPORT` The database port
|
* `--dbport DBPORT` The database port
|
||||||
|
|
||||||
## Depreciated commands
|
|
||||||
|
|
||||||
### move_participant_stats
|
|
||||||
|
|
||||||
!!! tip "Environment"
|
|
||||||
You need to run these commands with the appropriate environment loaded
|
|
||||||
|
|
||||||
Task to move participant stats directly on the `event` table (so there's no need to count event participants each time).
|
|
||||||
This task should **only be run once** when migrating from `v1.0.0-beta.1` to `v1.0.0-beta.2`.
|
|
||||||
|
|
||||||
This task will be removed in version `v1.0.0-beta.3`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mix mobilizon.move_participant_stats
|
|
||||||
```
|
|
||||||
|
|
||||||
### setup_search
|
|
||||||
|
|
||||||
!!! tip "Environment"
|
|
||||||
You need to run these commands with the appropriate environment loaded
|
|
||||||
|
|
||||||
Task to setup search for existing events.
|
|
||||||
|
|
||||||
This task should **only be run once** when migrating from `v1.0.0-beta.1` to `v1.0.0-beta.2`.
|
|
||||||
|
|
||||||
This task will be removed in version `v1.0.0-beta.3`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mix mobilizon.setup_search
|
|
||||||
```
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Manage actors
|
# Manage actors
|
||||||
|
|
||||||
!!! tip "Environment"
|
!!! tip "Environment"
|
||||||
You need to run these commands with the appropriate environment loaded
|
You need to run these commands with the appropriate environment loaded, so probably prefix with `MIX_ENV=prod`.
|
||||||
|
|
||||||
## List all available commands
|
## List all available commands
|
||||||
```bash
|
```bash
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Manage users
|
# Manage users
|
||||||
|
|
||||||
!!! tip "Environment"
|
!!! tip "Environment"
|
||||||
You need to run these commands with the appropriate environment loaded
|
You need to run these commands with the appropriate environment loaded, so probably prefix with `MIX_ENV=prod`.
|
||||||
|
|
||||||
|
|
||||||
## List all available commands
|
## List all available commands
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Manages remote relays
|
Manages remote relays
|
||||||
|
|
||||||
!!! tip "Environment"
|
!!! tip "Environment"
|
||||||
You need to run these commands with the appropriate environment loaded
|
You need to run these commands with the appropriate environment loaded, so probably prefix with `MIX_ENV=prod`.
|
||||||
|
|
||||||
## Make your instance follow a mobilizon instance
|
## Make your instance follow a mobilizon instance
|
||||||
|
|
||||||
|
31
docs/administration/configure/email.md
Normal file
31
docs/administration/configure/email.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Email
|
||||||
|
|
||||||
|
Mobilizon requires a SMTP server to deliver emails. Using 3rd-party mail providers (Mandrill, SendGrid, Mailjet, …) will be possible in the future.
|
||||||
|
|
||||||
|
## SMTP configuration
|
||||||
|
|
||||||
|
Mobilizon default settings assumes a SMTP server listens on `localhost`, port `25`. To specify a specific server and credentials, you can add the following section in your `prod.secret.exs` file and modify credentials to your needs.
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Web.Email.Mailer,
|
||||||
|
adapter: Bamboo.SMTPAdapter,
|
||||||
|
server: "localhost",
|
||||||
|
hostname: "localhost",
|
||||||
|
port: 25,
|
||||||
|
username: nil,
|
||||||
|
password: nil,
|
||||||
|
# can be `:always` or `:never`
|
||||||
|
tls: :if_available,
|
||||||
|
allowed_tls_versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
|
||||||
|
# can be `true`
|
||||||
|
ssl: false,
|
||||||
|
retries: 1,
|
||||||
|
# can be `true`
|
||||||
|
no_mx_lookups: false,
|
||||||
|
# can be `:always`. If your smtp relay requires authentication set it to `:always`.
|
||||||
|
auth: :if_available
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
The hostname option sets the FQDN to the header of your emails, its optional, but if you don't set it, the underlying `gen_smtp` module will use the hostname of your machine, like `localhost`.
|
||||||
|
|
||||||
|
You'll need to restart Mobilizon to recompile the app and apply the new settings.
|
@ -10,18 +10,28 @@ However, providing a geocoding service is quite expensive, especially if you wan
|
|||||||
!!! note "Hardware setup"
|
!!! note "Hardware setup"
|
||||||
To give an idea of what hardware is required to self-host a geocoding service, we successfully installed and used [Addok](#addok), [Pelias](#pelias) and [Mimirsbrunn](#mimirsbrunn) on a 8 cores/16GB RAM machine without any issues **importing only French addresses and data**.
|
To give an idea of what hardware is required to self-host a geocoding service, we successfully installed and used [Addok](#addok), [Pelias](#pelias) and [Mimirsbrunn](#mimirsbrunn) on a 8 cores/16GB RAM machine without any issues **importing only French addresses and data**.
|
||||||
|
|
||||||
|
## Change geocoder
|
||||||
|
|
||||||
|
To change geocoder backend, you need to add the following line in `prod.secret.exs`:
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial,
|
||||||
|
service: Mobilizon.Service.Geospatial.Nominatim
|
||||||
|
```
|
||||||
|
And change `Nominatim` to one of the supported geocoders. Depending on the provider, you'll also need to add some special config to specify eventual endpoints or API keys.
|
||||||
|
|
||||||
|
For instance, when using `Mimirsbrunn`, you'll need the following configuration:
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial,
|
||||||
|
service: Mobilizon.Service.Geospatial.Mimirsbrunn
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.Mimirsbrunn,
|
||||||
|
endpoint: "https://my-mimir-instance.tld"
|
||||||
|
```
|
||||||
|
|
||||||
## List of supported geocoders
|
## List of supported geocoders
|
||||||
|
|
||||||
This is the list of all geocoders supported by Mobilizon. The current default one is [Nominatim](#nominatim) and uses the official OpenStreetMap instance.
|
This is the list of all geocoders supported by Mobilizon. The current default one is [Nominatim](#nominatim) and uses the official OpenStreetMap instance.
|
||||||
|
|
||||||
!!! bug
|
|
||||||
Changing geocoder through `.env` configuration isn't currently supported by Mobilizon.
|
|
||||||
Instead you need to edit the following line in `config.prod.exs`:
|
|
||||||
```elixir
|
|
||||||
config :mobilizon, Mobilizon.Service.Geospatial, service: Mobilizon.Service.Geospatial.Nominatim
|
|
||||||
```
|
|
||||||
And change `Nominatim` to one of the supported geocoders. This change might be overwritten when updating Mobilizon.
|
|
||||||
|
|
||||||
### Nominatim
|
### Nominatim
|
||||||
|
|
||||||
[Nominatim](https://wiki.openstreetmap.org/wiki/Nominatim) is a GPL-2.0 licenced tool to search data by name and address. It's written in C and PHP and uses PostgreSQL.
|
[Nominatim](https://wiki.openstreetmap.org/wiki/Nominatim) is a GPL-2.0 licenced tool to search data by name and address. It's written in C and PHP and uses PostgreSQL.
|
||||||
@ -35,6 +45,13 @@ It's the current default search tool on the [OpenStreetMap homepage](https://www
|
|||||||
|
|
||||||
Several companies provide hosted instances of Nominatim that you can query via an API, for example see [MapQuest Open Initiative](https://developer.mapquest.com/documentation/open/nominatim-search).
|
Several companies provide hosted instances of Nominatim that you can query via an API, for example see [MapQuest Open Initiative](https://developer.mapquest.com/documentation/open/nominatim-search).
|
||||||
|
|
||||||
|
** Default configuration **
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.Nominatim,
|
||||||
|
endpoint: "https://nominatim.openstreetmap.org",
|
||||||
|
api_key: nil
|
||||||
|
```
|
||||||
|
|
||||||
### Addok
|
### Addok
|
||||||
|
|
||||||
[Addok](https://github.com/addok/addok) is a WTFPL licenced search engine for address (and only address). It's written in Python and uses Redis.
|
[Addok](https://github.com/addok/addok) is a WTFPL licenced search engine for address (and only address). It's written in Python and uses Redis.
|
||||||
@ -43,6 +60,12 @@ It's used by French government for [adresse.data.gouv.fr](https://adresse.data.g
|
|||||||
!!! warning "Terms"
|
!!! warning "Terms"
|
||||||
When using France's Addok instance at `api-adresse.data.gouv.fr` (default endpoint for this geocoder if not configured otherwise), you need to read and accept the [GCU](https://adresse.data.gouv.fr/cgu) (in French).
|
When using France's Addok instance at `api-adresse.data.gouv.fr` (default endpoint for this geocoder if not configured otherwise), you need to read and accept the [GCU](https://adresse.data.gouv.fr/cgu) (in French).
|
||||||
|
|
||||||
|
** Default configuration **
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.Addok,
|
||||||
|
endpoint: "https://api-adresse.data.gouv.fr"
|
||||||
|
```
|
||||||
|
|
||||||
### Photon
|
### Photon
|
||||||
|
|
||||||
[Photon](https://photon.komoot.de/) is an Apache 2.0 licenced search engine written in Java and powered by ElasticSearch.
|
[Photon](https://photon.komoot.de/) is an Apache 2.0 licenced search engine written in Java and powered by ElasticSearch.
|
||||||
@ -51,6 +74,12 @@ It's used by French government for [adresse.data.gouv.fr](https://adresse.data.g
|
|||||||
The terms of use for the official instance (default endpoint for this geocoder if not configured otherwise) are simply the following:
|
The terms of use for the official instance (default endpoint for this geocoder if not configured otherwise) are simply the following:
|
||||||
> You can use the API for your project, but please be fair - extensive usage will be throttled. We do not guarantee for the availability and usage might be subject of change in the future.
|
> You can use the API for your project, but please be fair - extensive usage will be throttled. We do not guarantee for the availability and usage might be subject of change in the future.
|
||||||
|
|
||||||
|
** Default configuration **
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.Photon,
|
||||||
|
endpoint: "https://photon.komoot.de"
|
||||||
|
```
|
||||||
|
|
||||||
### Pelias
|
### Pelias
|
||||||
|
|
||||||
[Pelias](https://github.com/pelias/pelias) is a MIT licensed geocoder composed of several services written in NodeJS. It's powered by ElasticSearch.
|
[Pelias](https://github.com/pelias/pelias) is a MIT licensed geocoder composed of several services written in NodeJS. It's powered by ElasticSearch.
|
||||||
@ -58,24 +87,53 @@ It's used by French government for [adresse.data.gouv.fr](https://adresse.data.g
|
|||||||
There's [Geocode Earth](https://geocode.earth/) SAAS that provides a Pelias API.
|
There's [Geocode Earth](https://geocode.earth/) SAAS that provides a Pelias API.
|
||||||
They offer discounts for Open-Source projects. [See the pricing](https://geocode.earth/).
|
They offer discounts for Open-Source projects. [See the pricing](https://geocode.earth/).
|
||||||
|
|
||||||
|
**Configuration example**
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.Pelias,
|
||||||
|
endpoint: nil
|
||||||
|
```
|
||||||
|
|
||||||
### Mimirsbrunn
|
### Mimirsbrunn
|
||||||
|
|
||||||
[Mimirsbrunn](https://github.com/CanalTP/mimirsbrunn) is an AGPL-3.0 licensed geocoding written in Rust and powered by ElasticSearch.
|
[Mimirsbrunn](https://github.com/CanalTP/mimirsbrunn) is an AGPL-3.0 licensed geocoding written in Rust and powered by ElasticSearch.
|
||||||
|
|
||||||
Mimirsbrunn is used by [Qwant Maps](https://www.qwant.com/maps) and [Navitia](https://www.navitia.io).
|
Mimirsbrunn is used by [Qwant Maps](https://www.qwant.com/maps) and [Navitia](https://www.navitia.io).
|
||||||
|
|
||||||
|
** Default configuration **
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.Mimirsbrunn,
|
||||||
|
endpoint: nil
|
||||||
|
```
|
||||||
|
|
||||||
### Google Maps
|
### Google Maps
|
||||||
|
|
||||||
[Google Maps](https://developers.google.com/maps/documentation/geocoding/intro) is a proprietary service that provides APIs for geocoding.
|
[Google Maps](https://developers.google.com/maps/documentation/geocoding/intro) is a proprietary service that provides APIs for geocoding.
|
||||||
|
|
||||||
They don't have a free plan, but offer credit when creating a new account. [See the pricing](https://cloud.google.com/maps-platform/pricing/).
|
They don't have a free plan, but offer credit when creating a new account. [See the pricing](https://cloud.google.com/maps-platform/pricing/).
|
||||||
|
|
||||||
|
** Default configuration **
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
`fetch_place_details` tells GoogleMaps to also fetch some details on a place when geocoding. It can be more expensive, since you're doing two requests to Google instead of one.
|
||||||
|
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.GoogleMaps,
|
||||||
|
api_key: nil,
|
||||||
|
fetch_place_details: true
|
||||||
|
```
|
||||||
|
|
||||||
### MapQuest
|
### MapQuest
|
||||||
|
|
||||||
[MapQuest](https://developer.mapquest.com/documentation/open/geocoding-api/) is a proprietary service that provides APIs for geocoding.
|
[MapQuest](https://developer.mapquest.com/documentation/open/geocoding-api/) is a proprietary service that provides APIs for geocoding.
|
||||||
|
|
||||||
They offer a free plan. [See the pricing](https://developer.mapquest.com/plans).
|
They offer a free plan. [See the pricing](https://developer.mapquest.com/plans).
|
||||||
|
|
||||||
|
** Default configuration **
|
||||||
|
```elixir
|
||||||
|
config :mobilizon, Mobilizon.Service.Geospatial.MapQuest,
|
||||||
|
api_key: nil
|
||||||
|
```
|
||||||
|
|
||||||
### More geocoding services
|
### More geocoding services
|
||||||
|
|
||||||
Geocoding implementations are simple modules that need to implement the [`Mobilizon.Service.Geospatial.Provider` behaviour](https://framasoft.frama.io/mobilizon/backend/Mobilizon.Service.Geospatial.Provider.html), so feel free to write your own!
|
Geocoding implementations are simple modules that need to implement the [`Mobilizon.Service.Geospatial.Provider` behaviour](https://framasoft.frama.io/mobilizon/backend/Mobilizon.Service.Geospatial.Provider.html), so feel free to write your own!
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
# Docker
|
|
||||||
|
|
||||||
You can quickly get a server running using Docker. You'll need both [Docker](https://www.docker.com/community-edition) and [Docker-Compose](https://docs.docker.com/compose/install/).
|
|
||||||
|
|
||||||
Start by cloning the repo
|
|
||||||
```bash
|
|
||||||
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
|
|
||||||
```
|
|
||||||
|
|
||||||
Then, just run `make` to build containers.
|
|
||||||
```bash
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
This will start a database container, an API container also containing the front-end running on `localhost`.
|
|
@ -1,14 +1,15 @@
|
|||||||
# Install
|
# Install
|
||||||
|
|
||||||
|
!!! info "Docker"
|
||||||
|
|
||||||
|
Docker production installation is not yet supported. See [issue #352](https://framagit.org/framasoft/mobilizon/issues/352).
|
||||||
|
|
||||||
## Pre-requisites
|
## Pre-requisites
|
||||||
|
|
||||||
* A Linux machine with **root access**
|
* A Linux machine with **root access**
|
||||||
* A **domain name** (or subdomain) for the Mobilizon server, e.g. `example.net`
|
* A **domain name** (or subdomain) for the Mobilizon server, e.g. `example.net`
|
||||||
* An **SMTP server** to deliver emails
|
* An **SMTP server** to deliver emails
|
||||||
|
|
||||||
!!! tip
|
|
||||||
You can also install Mobilizon [with Docker](docker.md).
|
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
Mobilizon requires Elixir, NodeJS and PostgreSQL among other things.
|
Mobilizon requires Elixir, NodeJS and PostgreSQL among other things.
|
||||||
@ -88,12 +89,33 @@ Mobilizon provides a command line tool to generate configuration
|
|||||||
mix mobilizon.instance gen
|
mix mobilizon.instance gen
|
||||||
```
|
```
|
||||||
|
|
||||||
This will ask you questions about your instance and generate a `.env.prod` file.
|
This will ask you questions about your setup and your instance to generate a `prod.secret.exs` file in the `config/` folder, and a `setup_db.psql` file to setup the database.
|
||||||
|
|
||||||
|
### Database setup
|
||||||
|
|
||||||
### Migration
|
The `setup_db.psql` file contains SQL instructions to create a PostgreSQL user and database with the chosen credentials and add the required extensions to the Mobilizon database.
|
||||||
|
|
||||||
Run database migrations: `mix ecto.migrate`. You will have to do this again after most updates.
|
Execute
|
||||||
|
```bash
|
||||||
|
sudo -u postgres psql -f setup_db.psql
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! warning
|
||||||
|
|
||||||
|
When it's done, don't forget to remove the `setup_db.psql` file.
|
||||||
|
|
||||||
|
### Database Migration
|
||||||
|
|
||||||
|
Run database migrations:
|
||||||
|
```bash
|
||||||
|
MIX_ENV=prod mix ecto.migrate
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
|
||||||
|
Note the `MIX_ENV=prod` environment variable prefix in front of the command. You will have to use it for each `mix` command from now on.
|
||||||
|
|
||||||
|
You will have to do this again after most updates.
|
||||||
|
|
||||||
!!! tip
|
!!! tip
|
||||||
If some migrations fail, it probably means you're not using a recent enough version of PostgreSQL, or that you haven't installed the required extensions.
|
If some migrations fail, it probably means you're not using a recent enough version of PostgreSQL, or that you haven't installed the required extensions.
|
||||||
@ -147,3 +169,13 @@ sudo ln -s /etc/nginx/sites-available/mobilizon.conf /etc/nginx/sites-enabled/
|
|||||||
Edit the file `/etc/nginx/sites-available` and adapt it to your own configuration.
|
Edit the file `/etc/nginx/sites-available` and adapt it to your own configuration.
|
||||||
|
|
||||||
Test the configuration with `sudo nginx -t` and reload nginx with `systemctl reload nginx`.
|
Test the configuration with `sudo nginx -t` and reload nginx with `systemctl reload nginx`.
|
||||||
|
|
||||||
|
## Optional tasks
|
||||||
|
|
||||||
|
### Geolocation databases
|
||||||
|
|
||||||
|
Mobilizon can use geolocation from MMDB format data from sources like [MaxMind GeoIP](https://dev.maxmind.com/geoip/geoip2/geolite2/) databases or [db-ip.com](https://db-ip.com/db/download/ip-to-city-lite) databases. This allows showing events happening near the user's location.
|
||||||
|
|
||||||
|
You will need to download the City database and put it into `priv/data/GeoLite2-City.mmdb`.
|
||||||
|
|
||||||
|
Mobilizon will only show a warning at startup if the database is missing, but it isn't required.
|
@ -10,7 +10,7 @@ Some tasks (like database migrations) can take a while, so we advise you to run
|
|||||||
|
|
||||||
# Backup
|
# Backup
|
||||||
|
|
||||||
Always make sure your database and `.env.production` file are properly backuped before performing upgrades.
|
Always make sure your database and `config` folder are properly backuped before performing upgrades.
|
||||||
|
|
||||||
Unless stated otherwise in the release notes, the following steps are enough to upgrade Mobilizon.
|
Unless stated otherwise in the release notes, the following steps are enough to upgrade Mobilizon.
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ cd ../
|
|||||||
|
|
||||||
### Recompile Mobilizon
|
### Recompile Mobilizon
|
||||||
```bash
|
```bash
|
||||||
mix compile
|
MIX_ENV=prod mix compile
|
||||||
```
|
```
|
||||||
Let's switch back to your regular user.
|
Let's switch back to your regular user.
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ Go back to the `mobilizon` user.
|
|||||||
```bash
|
```bash
|
||||||
sudo -i -u mobilizon
|
sudo -i -u mobilizon
|
||||||
cd live
|
cd live
|
||||||
mix ecto.migrate
|
MIX_ENV=prod mix ecto.migrate
|
||||||
```
|
```
|
||||||
### Restart Mobilizon
|
### Restart Mobilizon
|
||||||
Let's switch back one last time to your regular user.
|
Let's switch back one last time to your regular user.
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
# Development
|
# Development
|
||||||
|
|
||||||
Clone the repository:
|
Clone the repository:
|
||||||
```bash
|
|
||||||
# With HTTPS
|
|
||||||
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
|
|
||||||
|
|
||||||
# With SSH
|
```bash tab="HTTPS"
|
||||||
|
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash tab="SSH"
|
||||||
git clone git@framagit.org:framasoft/mobilizon.git && cd mobilizon
|
git clone git@framagit.org:framasoft/mobilizon.git && cd mobilizon
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -14,19 +15,19 @@ Run Mobilizon:
|
|||||||
* with Docker and Docker-Compose (**Recommended**)
|
* with Docker and Docker-Compose (**Recommended**)
|
||||||
* without Docker and Docker-Compose (This involves more work on your part, use Docker and Docker-Compose if you can)
|
* without Docker and Docker-Compose (This involves more work on your part, use Docker and Docker-Compose if you can)
|
||||||
|
|
||||||
## With Docker and Docker-Compose
|
## With Docker
|
||||||
|
|
||||||
* Install [Docker](https://docs.docker.com/install/#supported-platforms) and [Docker-Compose](https://docs.docker.com/compose/install/) for your system.
|
* Install [Docker](https://docs.docker.com/install/#supported-platforms) and [Docker-Compose](https://docs.docker.com/compose/install/) for your system.
|
||||||
* Run `make start` to build, then launch a database container and an API container.
|
* Run `make start` to build, then launch a database container and an API container.
|
||||||
* Follow the progress of the build with `docker-compose logs -f`.
|
* Follow the progress of the build with `docker-compose logs -f`.
|
||||||
* Access `localhost:4000` in your browser once the containers are fully built and launched.
|
* Access `localhost:4000` in your browser once the containers are fully built and launched.
|
||||||
|
|
||||||
## Without Docker and Docker-Compose
|
## Without Docker
|
||||||
|
|
||||||
* Install dependencies:
|
* Install dependencies:
|
||||||
* Elixir (and Erlang) by following the instructions at [https://elixir-lang.github.io/install.html](https://elixir-lang.github.io/install.html)
|
* [Elixir (and Erlang)](https://elixir-lang.org/install.html)
|
||||||
* [PostgreSQL]() with PostGIS
|
* PostgreSQL >= 9.6 with PostGIS
|
||||||
* Install NodeJS (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2012.0+-brightgreen.svg)
|
* [Install NodeJS](https://nodejs.org/en/download/) (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2012.0+-brightgreen.svg)
|
||||||
* Start services:
|
* Start services:
|
||||||
* Start postgres
|
* Start postgres
|
||||||
* Setup services:
|
* Setup services:
|
||||||
@ -48,3 +49,9 @@ Run Mobilizon:
|
|||||||
|
|
||||||
Now you can visit [`localhost:4000`](http://localhost:4000) in your browser
|
Now you can visit [`localhost:4000`](http://localhost:4000) in your browser
|
||||||
and see the website (server *and* client) in action.
|
and see the website (server *and* client) in action.
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
### Issues with argon2 when creating users.
|
||||||
|
|
||||||
|
This is because you installed deps through Docker and are now using Mobilizon without it, or the other way around. Just `rm -r deps/argon2_elixir` and trigger `mix deps.get` again.
|
@ -7,7 +7,7 @@ We format our code with the Elixir Formatter and check for issues with [Credo](h
|
|||||||
Please run these two commands before pushing code:
|
Please run these two commands before pushing code:
|
||||||
|
|
||||||
* `mix format`
|
* `mix format`
|
||||||
* `mix credo`
|
* `mix credo --strict -a`
|
||||||
|
|
||||||
These two commands must not return an error code, since they are required to pass inside CI.
|
These two commands must not return an error code, since they are required to pass inside CI.
|
||||||
|
|
||||||
|
4
js/.gitignore
vendored
4
js/.gitignore
vendored
@ -9,10 +9,6 @@ selenium-debug.log
|
|||||||
|
|
||||||
styleguide/
|
styleguide/
|
||||||
|
|
||||||
# local env files
|
|
||||||
.env.local
|
|
||||||
.env.*.local
|
|
||||||
|
|
||||||
# Log files
|
# Log files
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
|
@ -1,27 +1,41 @@
|
|||||||
import en from './en_US';
|
import ar from './ar';
|
||||||
import fr from './fr_FR';
|
import be from './be';
|
||||||
|
import ca from './ca';
|
||||||
import cs from './cs';
|
import cs from './cs';
|
||||||
import de from './de';
|
import de from './de';
|
||||||
|
import en_US from './en_US';
|
||||||
import es from './es';
|
import es from './es';
|
||||||
|
import fi from './fi';
|
||||||
|
import fr_FR from './fr_FR';
|
||||||
import it from './it';
|
import it from './it';
|
||||||
import ja from './ja';
|
import ja from './ja';
|
||||||
import nl from './nl';
|
import nl from './nl';
|
||||||
import oc from './oc';
|
import oc from './oc';
|
||||||
import pl from './pl';
|
import pl from './pl';
|
||||||
import pt from './pt';
|
import pt from './pt';
|
||||||
|
import pt_BR from './pt_BR';
|
||||||
import ru from './ru';
|
import ru from './ru';
|
||||||
|
import sv from './sv';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
fr,
|
ar,
|
||||||
en,
|
be,
|
||||||
|
ca,
|
||||||
cs,
|
cs,
|
||||||
de,
|
de,
|
||||||
|
en: en_US,
|
||||||
|
en_US,
|
||||||
es,
|
es,
|
||||||
|
fi,
|
||||||
|
fr: fr_FR,
|
||||||
|
fr_FR,
|
||||||
it,
|
it,
|
||||||
ja,
|
ja,
|
||||||
nl,
|
nl,
|
||||||
oc,
|
oc,
|
||||||
pl,
|
pl,
|
||||||
pt,
|
pt,
|
||||||
ru
|
pt_BR,
|
||||||
|
ru,
|
||||||
|
sv
|
||||||
}
|
}
|
@ -2,12 +2,13 @@ import Vue from 'vue';
|
|||||||
import VueI18n from 'vue-i18n';
|
import VueI18n from 'vue-i18n';
|
||||||
import messages from '@/i18n/index';
|
import messages from '@/i18n/index';
|
||||||
|
|
||||||
const language = (window.navigator as any).userLanguage || window.navigator.language;
|
const language = ((window.navigator as any).userLanguage || window.navigator.language).replace(/-/, '_');
|
||||||
|
const locale = messages.hasOwnProperty(language) ? language : language.split('-')[0];
|
||||||
|
|
||||||
Vue.use(VueI18n);
|
Vue.use(VueI18n);
|
||||||
|
|
||||||
export const i18n = new VueI18n({
|
export const i18n = new VueI18n({
|
||||||
locale: language.split('-')[0], // set locale
|
locale, // set locale
|
||||||
messages, // set locale messages
|
messages, // set locale messages
|
||||||
fallbackLocale: 'en_US',
|
fallbackLocale: 'en_US',
|
||||||
});
|
});
|
||||||
|
@ -707,7 +707,7 @@ defmodule Mobilizon.Federation.ActivityPub do
|
|||||||
# Get recipients for an activity or object
|
# Get recipients for an activity or object
|
||||||
@spec get_recipients(map()) :: list()
|
@spec get_recipients(map()) :: list()
|
||||||
defp get_recipients(data) do
|
defp get_recipients(data) do
|
||||||
(data["to"] || []) ++ (data["cc"] || [])
|
Map.get(data, "to", []) ++ Map.get(data, "cc", [])
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec create_event(map(), map()) :: {:ok, map()}
|
@spec create_event(map(), map()) :: {:ok, map()}
|
||||||
@ -870,17 +870,18 @@ defmodule Mobilizon.Federation.ActivityPub do
|
|||||||
audience <-
|
audience <-
|
||||||
follower.actor |> Audience.calculate_to_and_cc_from_mentions() |> Map.merge(additional),
|
follower.actor |> Audience.calculate_to_and_cc_from_mentions() |> Map.merge(additional),
|
||||||
reject_data <- %{
|
reject_data <- %{
|
||||||
"to" => follower.actor.url,
|
"to" => [follower.actor.url],
|
||||||
"type" => "Reject",
|
"type" => "Reject",
|
||||||
"actor" => follower.actor.url,
|
"actor" => follower.target_actor.url,
|
||||||
"object" => follower_as_data
|
"object" => follower_as_data
|
||||||
},
|
},
|
||||||
update_data <-
|
update_data <-
|
||||||
reject_data
|
audience
|
||||||
|> Map.merge(audience)
|
|> Map.merge(reject_data)
|
||||||
|> Map.merge(%{
|
|> Map.merge(%{
|
||||||
"id" => "#{Endpoint.url()}/reject/follow/#{follower.id}"
|
"id" => "#{Endpoint.url()}/reject/follow/#{follower.id}"
|
||||||
}) do
|
}) do
|
||||||
|
Logger.error(inspect(update_data))
|
||||||
{:ok, follower, update_data}
|
{:ok, follower, update_data}
|
||||||
else
|
else
|
||||||
err ->
|
err ->
|
||||||
|
@ -405,14 +405,14 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do
|
|||||||
Handle incoming `Reject` activities wrapping a `Follow` activity
|
Handle incoming `Reject` activities wrapping a `Follow` activity
|
||||||
"""
|
"""
|
||||||
def do_handle_incoming_reject_following(follow_object, %Actor{} = actor) do
|
def do_handle_incoming_reject_following(follow_object, %Actor{} = actor) do
|
||||||
with {:follow, {:ok, %Follower{approved: false, target_actor: followed} = follow}} <-
|
with {:follow, {:ok, %Follower{target_actor: followed} = follow}} <-
|
||||||
{:follow, get_follow(follow_object)},
|
{:follow, get_follow(follow_object)},
|
||||||
{:same_actor, true} <- {:same_actor, actor.id == followed.id},
|
{:same_actor, true} <- {:same_actor, actor.id == followed.id},
|
||||||
{:ok, activity, _} <-
|
{:ok, activity, _} <-
|
||||||
ActivityPub.reject(:follow, follow) do
|
ActivityPub.reject(:follow, follow) do
|
||||||
{:ok, activity, follow}
|
{:ok, activity, follow}
|
||||||
else
|
else
|
||||||
{:follow, _} ->
|
{:follow, _err} ->
|
||||||
Logger.debug(
|
Logger.debug(
|
||||||
"Tried to handle a Reject activity but it's not containing a Follow activity"
|
"Tried to handle a Reject activity but it's not containing a Follow activity"
|
||||||
)
|
)
|
||||||
|
@ -54,8 +54,8 @@ defmodule Mobilizon.GraphQL.API.Follows do
|
|||||||
def reject(%Actor{} = follower, %Actor{} = followed) do
|
def reject(%Actor{} = follower, %Actor{} = followed) do
|
||||||
Logger.debug("We're trying to reject a follow")
|
Logger.debug("We're trying to reject a follow")
|
||||||
|
|
||||||
with %Follower{} = follow <-
|
with {:follower, %Follower{} = follow} <-
|
||||||
Actors.is_following(follower, followed),
|
{:follower, Actors.is_following(follower, followed)},
|
||||||
{:ok, %Activity{} = activity, %Follower{} = follow} <-
|
{:ok, %Activity{} = activity, %Follower{} = follow} <-
|
||||||
ActivityPub.reject(
|
ActivityPub.reject(
|
||||||
:follow,
|
:follow,
|
||||||
@ -64,7 +64,10 @@ defmodule Mobilizon.GraphQL.API.Follows do
|
|||||||
) do
|
) do
|
||||||
{:ok, activity, follow}
|
{:ok, activity, follow}
|
||||||
else
|
else
|
||||||
%Follower{approved: true} ->
|
{:follower, nil} ->
|
||||||
|
{:error, "Follow not found"}
|
||||||
|
|
||||||
|
{:follower, %Follower{approved: true}} ->
|
||||||
{:error, "Follow already accepted"}
|
{:error, "Follow already accepted"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -58,7 +58,7 @@ defmodule Mix.Tasks.Mobilizon.Instance do
|
|||||||
|
|
||||||
paths =
|
paths =
|
||||||
[config_path, psql_path] = [
|
[config_path, psql_path] = [
|
||||||
Keyword.get(options, :output, ".env"),
|
Keyword.get(options, :output, "config/prod.secret.exs"),
|
||||||
Keyword.get(options, :output_psql, "setup_db.psql")
|
Keyword.get(options, :output_psql, "setup_db.psql")
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -113,11 +113,30 @@ defmodule Mix.Tasks.Mobilizon.Instance do
|
|||||||
"autogenerated"
|
"autogenerated"
|
||||||
)
|
)
|
||||||
|
|
||||||
secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
|
listen_port =
|
||||||
|
Common.get_option(
|
||||||
|
options,
|
||||||
|
:listen_port,
|
||||||
|
"What port will the app listen to (leave it if you are using the default setup with nginx)?",
|
||||||
|
4000
|
||||||
|
)
|
||||||
|
|
||||||
|
listen_ip =
|
||||||
|
Common.get_option(
|
||||||
|
options,
|
||||||
|
:listen_ip,
|
||||||
|
"What ip will the app listen to (leave it if you are using the default setup with nginx)?",
|
||||||
|
"127.0.0.1"
|
||||||
|
)
|
||||||
|
|
||||||
|
instance_secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
|
||||||
|
auth_secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
|
||||||
|
|
||||||
|
template_dir = Application.app_dir(:mobilizon, "priv") <> "/templates"
|
||||||
|
|
||||||
result_config =
|
result_config =
|
||||||
EEx.eval_file(
|
EEx.eval_file(
|
||||||
".env.sample" |> Path.expand(__DIR__ <> "../../../../../"),
|
"#{template_dir}/config.template.eex",
|
||||||
instance_domain: domain,
|
instance_domain: domain,
|
||||||
instance_port: port,
|
instance_port: port,
|
||||||
instance_email: email,
|
instance_email: email,
|
||||||
@ -128,12 +147,15 @@ defmodule Mix.Tasks.Mobilizon.Instance do
|
|||||||
database_username: dbuser,
|
database_username: dbuser,
|
||||||
database_password: dbpass,
|
database_password: dbpass,
|
||||||
version: Mobilizon.Mixfile.project() |> Keyword.get(:version),
|
version: Mobilizon.Mixfile.project() |> Keyword.get(:version),
|
||||||
instance_secret: secret
|
instance_secret: instance_secret,
|
||||||
|
auth_secret: auth_secret,
|
||||||
|
listen_ip: listen_ip,
|
||||||
|
listen_port: listen_port
|
||||||
)
|
)
|
||||||
|
|
||||||
result_psql =
|
result_psql =
|
||||||
EEx.eval_file(
|
EEx.eval_file(
|
||||||
"support/postgresql/setup_db.psql" |> Path.expand(__DIR__ <> "../../../../../"),
|
"#{template_dir}/setup_db.eex",
|
||||||
database_name: dbname,
|
database_name: dbname,
|
||||||
database_username: dbuser,
|
database_username: dbuser,
|
||||||
database_password: dbpass
|
database_password: dbpass
|
||||||
@ -155,12 +177,7 @@ defmodule Mix.Tasks.Mobilizon.Instance do
|
|||||||
2. Run `sudo -u postgres psql -f #{Common.escape_sh_path(psql_path)} && rm #{
|
2. Run `sudo -u postgres psql -f #{Common.escape_sh_path(psql_path)} && rm #{
|
||||||
Common.escape_sh_path(psql_path)
|
Common.escape_sh_path(psql_path)
|
||||||
}`.
|
}`.
|
||||||
""" <>
|
"""
|
||||||
if config_path in [".env.production", ".env.dev", ".env.test"] do
|
|
||||||
""
|
|
||||||
else
|
|
||||||
"3. Run `mv #{Common.escape_sh_path(config_path)} '.env.production'`."
|
|
||||||
end
|
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
Mix.shell().error(
|
Mix.shell().error(
|
||||||
|
@ -37,7 +37,7 @@ defmodule Mobilizon.Addresses do
|
|||||||
%Address{}
|
%Address{}
|
||||||
|> Address.changeset(attrs)
|
|> Address.changeset(attrs)
|
||||||
|> Repo.insert(
|
|> Repo.insert(
|
||||||
on_conflict: :replace_all_except_primary_key,
|
on_conflict: {:replace_all_except, [:id]},
|
||||||
conflict_target: [:origin_id]
|
conflict_target: [:origin_id]
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
1
mix.exs
1
mix.exs
@ -135,6 +135,7 @@ defmodule Mobilizon.Mixfile do
|
|||||||
"ecto.setup"
|
"ecto.setup"
|
||||||
],
|
],
|
||||||
test: [
|
test: [
|
||||||
|
"ecto.create",
|
||||||
"ecto.migrate",
|
"ecto.migrate",
|
||||||
&run_test/1
|
&run_test/1
|
||||||
],
|
],
|
||||||
|
@ -21,6 +21,8 @@ markdown_extensions:
|
|||||||
plugins:
|
plugins:
|
||||||
- search
|
- search
|
||||||
- git-revision-date-localized
|
- git-revision-date-localized
|
||||||
|
- minify:
|
||||||
|
minify_html: true
|
||||||
theme:
|
theme:
|
||||||
name: 'material'
|
name: 'material'
|
||||||
custom_dir: 'docs/theme/'
|
custom_dir: 'docs/theme/'
|
||||||
|
@ -232,12 +232,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "لقد قمتَ بتقديم طلب للمشاركة في فعالية %{title}."
|
msgstr "لقد قمتَ بتقديم طلب للمشاركة في فعالية %{title}."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -229,12 +229,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -246,12 +246,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "Has soŀlicitat participar a l'activitat %{title}."
|
msgstr "Has soŀlicitat participar a l'activitat %{title}."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "T'han aprovat la participació a %{title}"
|
msgstr "T'han aprovat la participació a %{title}"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "T'han denegat la participació a %{title}"
|
msgstr "T'han denegat la participació a %{title}"
|
||||||
|
|
||||||
@ -394,7 +394,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -229,12 +229,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -250,12 +250,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "Du hast angefragt, an der Veranstaltung %{title} teilzunehmen."
|
msgstr "Du hast angefragt, an der Veranstaltung %{title} teilzunehmen."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Deine Teilnahme an der Veranstaltung %{title}wurde akzeptiert"
|
msgstr "Deine Teilnahme an der Veranstaltung %{title}wurde akzeptiert"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Deine Teilnahme an der Veranstaltung %{title}wurde abgelehnt"
|
msgstr "Deine Teilnahme an der Veranstaltung %{title}wurde abgelehnt"
|
||||||
|
|
||||||
@ -399,7 +399,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -215,12 +215,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -353,7 +353,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -238,12 +238,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "You requested to participate in event %{title}."
|
msgstr "You requested to participate in event %{title}."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Your participation to event %{title} has been approved"
|
msgstr "Your participation to event %{title} has been approved"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Your participation to event %{title} has been rejected"
|
msgstr "Your participation to event %{title} has been rejected"
|
||||||
|
|
||||||
@ -376,7 +376,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -229,12 +229,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -14,465 +14,465 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 3.9.1\n"
|
"X-Generator: Weblate 3.9.1\n"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/password_reset.html.eex:48
|
#: lib/web/templates/email/password_reset.html.eex:48
|
||||||
#: lib/web/templates/email/password_reset.text.eex:12
|
#: lib/web/templates/email/password_reset.text.eex:12
|
||||||
#, elixir-format
|
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta. Salasanasi "
|
"Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta. Salasanasi "
|
||||||
"ei vaihdu, ennen kuin käytät alla olevaa linkkiä ja luot uuden salasanan."
|
"ei vaihdu, ennen kuin käytät alla olevaa linkkiä ja luot uuden salasanan."
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:169
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr "Mobilizon-syöte osoitteeseen %{email}"
|
msgstr "Mobilizon-syöte osoitteeseen %{email}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:155
|
#: lib/web/templates/email/email.html.eex:155
|
||||||
#: lib/web/templates/email/email.text.eex:16
|
#: lib/web/templates/email/email.text.eex:16
|
||||||
#, elixir-format
|
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr "%{instance} on Mobilizon-palvelin."
|
msgstr "%{instance} on Mobilizon-palvelin."
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:41
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr "%{reporter_name} (%{reporter_username}) raportoi seuraavan sisällön."
|
msgstr "%{reporter_name} (%{reporter_username}) raportoi seuraavan sisällön."
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:52
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr "%{title} luojalta %{creator}"
|
msgstr "%{title} luojalta %{creator}"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr "Aktivoi tilini"
|
msgstr "Aktivoi tilini"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:124
|
#: lib/web/templates/email/email.html.eex:124
|
||||||
#: lib/web/templates/email/email.text.eex:14
|
#: lib/web/templates/email/email.text.eex:14
|
||||||
#, elixir-format
|
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr "Kysy yhteisöltä Framacolibrissa"
|
msgstr "Kysy yhteisöltä Framacolibrissa"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/report.html.eex:66
|
#: lib/web/templates/email/report.html.eex:66
|
||||||
#: lib/web/templates/email/report.text.eex:13
|
#: lib/web/templates/email/report.text.eex:13
|
||||||
#, elixir-format
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Kommentit"
|
msgstr "Kommentit"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/report.html.eex:50
|
#: lib/web/templates/email/report.html.eex:50
|
||||||
#: lib/web/templates/email/report.text.eex:6
|
#: lib/web/templates/email/report.text.eex:6
|
||||||
#, elixir-format
|
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr "Tapahtuma"
|
msgstr "Tapahtuma"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta."
|
msgstr "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta."
|
||||||
|
|
||||||
#: lib/web/email/user.ex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/user.ex:48
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr "Ohjeet salasanan palauttamiseen palvelimella %{instance}"
|
msgstr "Ohjeet salasanan palauttamiseen palvelimella %{instance}"
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:156
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:156
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr "Lue lisää Mobilizonista."
|
msgstr "Lue lisää Mobilizonista."
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr "Melkein valmista!"
|
msgstr "Melkein valmista!"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:121
|
#: lib/web/templates/email/email.html.eex:121
|
||||||
#: lib/web/templates/email/email.text.eex:12
|
#: lib/web/templates/email/email.text.eex:12
|
||||||
#, elixir-format
|
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr "Tarvitsetko apua? Eikö kaikki toimi niin kuin pitäisi?"
|
msgstr "Tarvitsetko apua? Eikö kaikki toimi niin kuin pitäisi?"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr "Uusi raportti palvelimella %{instance}"
|
msgstr "Uusi raportti palvelimella %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/report.html.eex:84
|
#: lib/web/templates/email/report.html.eex:84
|
||||||
#: lib/web/templates/email/report.text.eex:22
|
#: lib/web/templates/email/report.text.eex:22
|
||||||
#, elixir-format
|
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr "Syy"
|
msgstr "Syy"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Palauta salasana"
|
msgstr "Palauta salasana"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Salasana on helppo palauttaa. Paina alla olevaa painiketta ja noudata "
|
"Salasana on helppo palauttaa. Paina alla olevaa painiketta ja noudata "
|
||||||
"ohjeita. Pääset tuota pikaa jatkamaan käyttöä."
|
"ohjeita. Pääset tuota pikaa jatkamaan käyttöä."
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr "Ongelmia sisäänkirjautumisessa?"
|
msgstr "Ongelmia sisäänkirjautumisessa?"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:104
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:104
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr "Näytä raportti"
|
msgstr "Näytä raportti"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Loit palvelimelle %{host} tilin tällä sähköpostiosoitteella. Aktivoi se "
|
"Loit palvelimelle %{host} tilin tällä sähköpostiosoitteella. Aktivoi se "
|
||||||
"yhdellä napsautuksella."
|
"yhdellä napsautuksella."
|
||||||
|
|
||||||
#: lib/web/email/user.ex:28
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/user.ex:28
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr "Ohjeet Mobilizon-tilin vahvistamiseen palvelimella %{instance}"
|
msgstr "Ohjeet Mobilizon-tilin vahvistamiseen palvelimella %{instance}"
|
||||||
|
|
||||||
#: lib/web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr "Uusi raportti Mobilizon-palvelimella %{instance}"
|
msgstr "Uusi raportti Mobilizon-palvelimella %{instance}"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.text.eex:1
|
||||||
msgid "Activate your account"
|
msgid "Activate your account"
|
||||||
msgstr "Aktivoi tilisi"
|
msgstr "Aktivoi tilisi"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:13
|
||||||
msgid "All good!"
|
msgid "All good!"
|
||||||
msgstr "Kaikki kunnossa!"
|
msgstr "Kaikki kunnossa!"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:45
|
#: lib/web/templates/email/event_participation_approved.html.eex:45
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:7
|
#: lib/web/templates/email/event_participation_approved.text.eex:7
|
||||||
#, elixir-format
|
|
||||||
msgid "An organizer just approved your participation. You're now going to this event!"
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Järjestäjä hyväksyi juuri osallistumisesi. Olet nyt mukana tapahtumassa!"
|
"Järjestäjä hyväksyi juuri osallistumisesi. Olet nyt mukana tapahtumassa!"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:58
|
#: lib/web/templates/email/event_participation_approved.html.eex:58
|
||||||
#: lib/web/templates/email/event_updated.html.eex:101
|
#: lib/web/templates/email/event_updated.html.eex:101
|
||||||
#, elixir-format
|
|
||||||
msgid "Go to event page"
|
msgid "Go to event page"
|
||||||
msgstr "Siirry tapahtuman sivulle"
|
msgstr "Siirry tapahtuman sivulle"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:70 lib/web/templates/email/event_updated.html.eex:113
|
#: lib/web/templates/email/event_participation_approved.html.eex:70 lib/web/templates/email/event_updated.html.eex:113
|
||||||
#: lib/web/templates/email/event_updated.text.eex:21
|
#: lib/web/templates/email/event_updated.text.eex:21
|
||||||
#, elixir-format
|
|
||||||
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Jos haluat perua osallistumisesi, siirry tapahtuman sivulle yllä olevasta "
|
"Jos haluat perua osallistumisesi, siirry tapahtuman sivulle yllä olevasta "
|
||||||
"linkistä ja napsauta siellä osallistumispainiketta."
|
"linkistä ja napsauta siellä osallistumispainiketta."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:11
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:11
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:11
|
#: lib/web/templates/email/event_participation_approved.text.eex:11
|
||||||
#, elixir-format
|
|
||||||
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Jos haluat perua osallistumisesi, avaa edellä oleva linkki ja napsauta "
|
"Jos haluat perua osallistumisesi, avaa edellä oleva linkki ja napsauta "
|
||||||
"siellä osallistumispainiketta."
|
"siellä osallistumispainiketta."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:16
|
||||||
msgid "Learn more about Mobilizon:"
|
msgid "Learn more about Mobilizon:"
|
||||||
msgstr "Lue lisää Mobilizonista:"
|
msgstr "Lue lisää Mobilizonista:"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.text.eex:1
|
||||||
msgid "New report from %{reporter} on %{instance}"
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
msgstr "Uusi raportti käyttäjältä %{reporter} palvelimella %{instance}"
|
msgstr "Uusi raportti käyttäjältä %{reporter} palvelimella %{instance}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.text.eex:1
|
||||||
msgid "Participation approved"
|
msgid "Participation approved"
|
||||||
msgstr "Osallistuminen hyväksytty"
|
msgstr "Osallistuminen hyväksytty"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_rejected.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.text.eex:1
|
||||||
msgid "Participation rejected"
|
msgid "Participation rejected"
|
||||||
msgstr "Osallistuminen hylätty"
|
msgstr "Osallistuminen hylätty"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:1
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Salasanan palautus"
|
msgstr "Salasanan palautus"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:7
|
||||||
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Salasana on helppo palauttaa. Paina alla olevaa linkkiä ja noudata ohjeita. "
|
"Salasana on helppo palauttaa. Paina alla olevaa linkkiä ja noudata ohjeita. "
|
||||||
"Pääset tuota pikaa jatkamaan käyttöä."
|
"Pääset tuota pikaa jatkamaan käyttöä."
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_rejected.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.html.eex:13
|
||||||
msgid "Sorry!"
|
msgid "Sorry!"
|
||||||
msgstr "Anteeksi!"
|
msgstr "Anteeksi!"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_participation_rejected.html.eex:45
|
#: lib/web/templates/email/event_participation_rejected.html.eex:45
|
||||||
#: lib/web/templates/email/event_participation_rejected.text.eex:7
|
#: lib/web/templates/email/event_participation_rejected.text.eex:7
|
||||||
#, elixir-format
|
|
||||||
msgid "Unfortunately, the organizers rejected your participation."
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
msgstr "Ikävä kyllä järjestäjät hylkäsivät osallistumisesi."
|
msgstr "Ikävä kyllä järjestäjät hylkäsivät osallistumisesi."
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.text.eex:5
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Loit palvelimelle %{host} tilin tällä sähköpostiosoitteella. Aktivoi se "
|
"Loit palvelimelle %{host} tilin tällä sähköpostiosoitteella. Aktivoi se "
|
||||||
"yhdellä napsautuksella. Jos et luonut tiliä itse, voit jättää tämän viestin "
|
"yhdellä napsautuksella. Jos et luonut tiliä itse, voit jättää tämän viestin "
|
||||||
"huomiotta."
|
"huomiotta."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:38
|
#: lib/web/templates/email/event_participation_approved.html.eex:38
|
||||||
#, elixir-format
|
|
||||||
msgid "You requested to participate in event %{title}"
|
msgid "You requested to participate in event %{title}"
|
||||||
msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}"
|
msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:5
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:5
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:5 lib/web/templates/email/event_participation_rejected.html.eex:38
|
#: lib/web/templates/email/event_participation_approved.text.eex:5 lib/web/templates/email/event_participation_rejected.html.eex:38
|
||||||
#: lib/web/templates/email/event_participation_rejected.text.eex:5
|
#: lib/web/templates/email/event_participation_rejected.text.eex:5
|
||||||
#, elixir-format
|
|
||||||
msgid "You requested to participate in event %{title}."
|
msgid "You requested to participate in event %{title}."
|
||||||
msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}."
|
msgstr "Lähetit pyynnön osallistua tapahtumaan %{title}."
|
||||||
|
|
||||||
#: lib/web/email/participation.ex:73
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty"
|
msgstr "Osallistumisesi tapahtumaan %{title} on hyväksytty"
|
||||||
|
|
||||||
#: lib/web/email/participation.ex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Osallistumisesi tapahtumaan %{title) on hylätty"
|
msgstr "Osallistumisesi tapahtumaan %{title) on hylätty"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:82
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:82
|
||||||
msgid "Ending of event"
|
msgid "Ending of event"
|
||||||
msgstr "Tapahtuman päättyminen"
|
msgstr "Tapahtuman päättyminen"
|
||||||
|
|
||||||
#: lib/web/email/event.ex:35
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/event.ex:35
|
||||||
msgid "Event %{title} has been updated"
|
msgid "Event %{title} has been updated"
|
||||||
msgstr "Tapahtumaa %{title} on päivitetty"
|
msgstr "Tapahtumaa %{title} on päivitetty"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_updated.html.eex:13
|
#: lib/web/templates/email/event_updated.html.eex:13
|
||||||
#: lib/web/templates/email/event_updated.text.eex:1
|
#: lib/web/templates/email/event_updated.text.eex:1
|
||||||
#, elixir-format
|
|
||||||
msgid "Event updated!"
|
msgid "Event updated!"
|
||||||
msgstr "Tapahtuma päivitetty!"
|
msgstr "Tapahtuma päivitetty!"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:16
|
||||||
msgid "New date and time for ending of event: %{ends_on}"
|
msgid "New date and time for ending of event: %{ends_on}"
|
||||||
msgstr "Tapahtumalla on uusi päättymisaika: %{ends_on}"
|
msgstr "Tapahtumalla on uusi päättymisaika: %{ends_on}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:12
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:12
|
||||||
msgid "New date and time for start of event: %{begins_on}"
|
msgid "New date and time for start of event: %{begins_on}"
|
||||||
msgstr "Tapahtumalla on uusi alkamisaika: %{begins_on}"
|
msgstr "Tapahtumalla on uusi alkamisaika: %{begins_on}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:8
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:8
|
||||||
msgid "New title: %{title}"
|
msgid "New title: %{title}"
|
||||||
msgstr "Uusi otsikko: %{title}"
|
msgstr "Uusi otsikko: %{title}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:72
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:72
|
||||||
msgid "Start of event"
|
msgid "Start of event"
|
||||||
msgstr "Tapahtuman alku"
|
msgstr "Tapahtuman alku"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:5
|
||||||
msgid "The event %{title} was just updated"
|
msgid "The event %{title} was just updated"
|
||||||
msgstr "Tapahtumaa %{title} päivitettiin juuri"
|
msgstr "Tapahtumaa %{title} päivitettiin juuri"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:38
|
||||||
msgid "The event %{title} was updated"
|
msgid "The event %{title} was updated"
|
||||||
msgstr "Tapahtumaa %{title} päivitettiin"
|
msgstr "Tapahtumaa %{title} päivitettiin"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:62
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Otsikko"
|
msgstr "Otsikko"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:19
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:19
|
||||||
msgid "View the updated event on: %{link}"
|
msgid "View the updated event on: %{link}"
|
||||||
msgstr "Katso päivitetty tapahtuma: %{linkki}"
|
msgstr "Katso päivitetty tapahtuma: %{linkki}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/password_reset.html.eex:38
|
#: lib/web/templates/email/password_reset.html.eex:38
|
||||||
#: lib/web/templates/email/password_reset.text.eex:5
|
#: lib/web/templates/email/password_reset.text.eex:5
|
||||||
#, elixir-format
|
|
||||||
msgid "You requested a new password for your account on %{instance}."
|
msgid "You requested a new password for your account on %{instance}."
|
||||||
msgstr "Pyysit uutta salasanaa tilillesi palvelimella %{instance}."
|
msgstr "Pyysit uutta salasanaa tilillesi palvelimella %{instance}."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:95
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:95
|
||||||
msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
|
msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Huomaathan, että ohjelma ei ole (vielä) täysin valmis. Lisätietoja "
|
"Huomaathan, että ohjelma ei ole (vielä) täysin valmis. Lisätietoja "
|
||||||
"%{a_start}blogissamme%{a_end}."
|
"%{a_start}blogissamme%{a_end}."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:94
|
||||||
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
|
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Mobilizonin kehitystyö on vielä käynnissä, ja tälle sivulle lisätään "
|
"Mobilizonin kehitystyö on vielä käynnissä, ja tälle sivulle lisätään "
|
||||||
"säännöllisesti uusia ominaisuuksia, kunnes %{b_start}ohjelman versio 1 "
|
"säännöllisesti uusia ominaisuuksia, kunnes %{b_start}ohjelman versio 1 "
|
||||||
"julkaistaan vuoden 2020 alkupuoliskolla%{b_end}."
|
"julkaistaan vuoden 2020 alkupuoliskolla%{b_end}."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:91
|
#: lib/web/templates/email/email.html.eex:91
|
||||||
#: lib/web/templates/email/email.text.eex:6
|
#: lib/web/templates/email/email.text.eex:6
|
||||||
#, elixir-format
|
|
||||||
msgid "This is a demonstration site to test the beta version of Mobilizon."
|
msgid "This is a demonstration site to test the beta version of Mobilizon."
|
||||||
msgstr "Tällä esittelysivulla voit koekäyttää Mobilizonin beetaversiota."
|
msgstr "Tällä esittelysivulla voit koekäyttää Mobilizonin beetaversiota."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:89
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:89
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Varoitus"
|
msgstr "Varoitus"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:54
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:54
|
||||||
msgid "Event has been cancelled"
|
msgid "Event has been cancelled"
|
||||||
msgstr "Tapahtuma on peruttu"
|
msgstr "Tapahtuma on peruttu"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:50
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:50
|
||||||
msgid "Event has been confirmed"
|
msgid "Event has been confirmed"
|
||||||
msgstr "Tapahtuma on vahvistettu"
|
msgstr "Tapahtuma on vahvistettu"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:52
|
||||||
msgid "Event status has been set as tentative"
|
msgid "Event status has been set as tentative"
|
||||||
msgstr "Tapahtuma on merkitty alustavaksi"
|
msgstr "Tapahtuma on merkitty alustavaksi"
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:92
|
||||||
msgid "%{b_start}Please do not use it in any real way%{b_end}"
|
msgid "%{b_start}Please do not use it in any real way%{b_end}"
|
||||||
msgstr "%{b_start}Älä käytä todellisiin tarkoituksiin%{b_end}"
|
msgstr "%{b_start}Älä käytä todellisiin tarkoituksiin%{b_end}"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:39
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:39
|
||||||
msgid "Someone on %{instance} reported the following content."
|
msgid "Someone on %{instance} reported the following content."
|
||||||
msgstr "Seuraava sisältö raportoitiin palvelimelta %{instance}."
|
msgstr "Seuraava sisältö raportoitiin palvelimelta %{instance}."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:10
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:10
|
||||||
msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
|
msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Huomaathan, että ohjelma ei ole (vielä) täysin valmis. Lisätietoja "
|
"Huomaathan, että ohjelma ei ole (vielä) täysin valmis. Lisätietoja "
|
||||||
"blogissamme:"
|
"blogissamme:"
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:9
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:9
|
||||||
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
|
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Mobilizonin kehitystyö on vielä käynnissä, ja tälle sivulle lisätään "
|
"Mobilizonin kehitystyö on vielä käynnissä, ja tälle sivulle lisätään "
|
||||||
"säännöllisesti uusia ominaisuuksia, kunnes ohjelman versio 1 julkaistaan "
|
"säännöllisesti uusia ominaisuuksia, kunnes ohjelman versio 1 julkaistaan "
|
||||||
"vuoden 2020 alkupuoliskolla."
|
"vuoden 2020 alkupuoliskolla."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:7
|
||||||
msgid "Please do not use it in any real way"
|
msgid "Please do not use it in any real way"
|
||||||
msgstr "Älä käytä todellisiin tarkoituksiin"
|
msgstr "Älä käytä todellisiin tarkoituksiin"
|
||||||
|
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||||
msgid "Confirm my participation"
|
msgid "Confirm my participation"
|
||||||
msgstr "Vahvista osallistumiseni"
|
msgstr "Vahvista osallistumiseni"
|
||||||
|
|
||||||
#: lib/web/email/participation.ex:95
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr "Vahvista osallistumisesi tapahtumaan %{title}"
|
msgstr "Vahvista osallistumisesi tapahtumaan %{title}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:7
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:7
|
||||||
#, elixir-format
|
|
||||||
msgid "If you didn't request this email, you can simply ignore it."
|
msgid "If you didn't request this email, you can simply ignore it."
|
||||||
msgstr "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta."
|
msgstr "Jos et lähettänyt pyyntöä, voit jättää tämän viestin huomiotta."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
|
||||||
#, elixir-format
|
|
||||||
msgid "Participation confirmation"
|
msgid "Participation confirmation"
|
||||||
msgstr "Osallistumisen vahvistus"
|
msgstr "Osallistumisen vahvistus"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:108
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:108
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "An internal ID for your current selected identity"
|
msgid "An internal ID for your current selected identity"
|
||||||
msgstr "Valittuna olevan identiteettisi sisäinen tunniste"
|
msgstr "Valittuna olevan identiteettisi sisäinen tunniste"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:107
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:107
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "An internal user ID"
|
msgid "An internal user ID"
|
||||||
msgstr "Sisäinen käyttäjätunniste"
|
msgstr "Sisäinen käyttäjätunniste"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:45
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Any of the information we collect from you may be used in the following ways:"
|
msgid "Any of the information we collect from you may be used in the following ways:"
|
||||||
msgstr "Kaikkia sinulta kerättäviä tietoja voidaan käyttää seuraavin tavoin:"
|
msgstr "Kaikkia sinulta kerättäviä tietoja voidaan käyttää seuraavin tavoin:"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:4
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:4
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Basic account information"
|
msgid "Basic account information"
|
||||||
msgstr "Tilin perustiedot"
|
msgstr "Tilin perustiedot"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:28
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:28
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Do not share any dangerous information over Mobilizon."
|
msgid "Do not share any dangerous information over Mobilizon."
|
||||||
msgstr "Älä jaa vaarallisia tietoja Mobilizonin kautta."
|
msgstr "Älä jaa vaarallisia tietoja Mobilizonin kautta."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:126
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:126
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Do we disclose any information to outside parties?"
|
msgid "Do we disclose any information to outside parties?"
|
||||||
msgstr "Luovutetaanko tietoja ulkopuolisille?"
|
msgstr "Luovutetaanko tietoja ulkopuolisille?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:101
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:101
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Do we use cookies?"
|
msgid "Do we use cookies?"
|
||||||
msgstr "Käytetäänkö evästeitä?"
|
msgstr "Käytetäänkö evästeitä?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:59
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:59
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "How do we protect your information?"
|
msgid "How do we protect your information?"
|
||||||
msgstr "Kuinka tietojasi suojataan?"
|
msgstr "Kuinka tietojasi suojataan?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:32
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:32
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "IPs and other metadata"
|
msgid "IPs and other metadata"
|
||||||
msgstr "IP-osoitteet ja muu metadata"
|
msgstr "IP-osoitteet ja muu metadata"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:111
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:111
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If you delete these informations, you need to login again."
|
msgid "If you delete these informations, you need to login again."
|
||||||
msgstr "Jos poistat nämä tiedot, joudut kirjautumaan uudelleen."
|
msgstr "Jos poistat nämä tiedot, joudut kirjautumaan uudelleen."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:113
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:113
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If you're not connected, we don't store any information on your device, unless you participate in an event\n anonymously. In that case we store the hash of the UUID and participation status in your browser so that we may\n display participation status. Deleting these informations will only stop displaying participation status in your\n browser."
|
msgid "If you're not connected, we don't store any information on your device, unless you participate in an event\n anonymously. In that case we store the hash of the UUID and participation status in your browser so that we may\n display participation status. Deleting these informations will only stop displaying participation status in your\n browser."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -484,41 +484,41 @@ msgstr ""
|
|||||||
"osallistumisen tilaa ei enää näytetä\n"
|
"osallistumisen tilaa ei enää näytetä\n"
|
||||||
" selaimessa."
|
" selaimessa."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:123
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Note: These informations are stored in your localStorage and not your cookies."
|
msgid "Note: These informations are stored in your localStorage and not your cookies."
|
||||||
msgstr "Huomaa: Nämä tiedot tallennetaan localStorage-tietoina eikä evästeinä."
|
msgstr "Huomaa: Nämä tiedot tallennetaan localStorage-tietoina eikä evästeinä."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:18
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:18
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Published events and comments"
|
msgid "Published events and comments"
|
||||||
msgstr "Julkaistut tapahtumat ja kommentit"
|
msgstr "Julkaistut tapahtumat ja kommentit"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:83
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:83
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Retain the IP addresses associated with registered users no more than 12 months."
|
msgid "Retain the IP addresses associated with registered users no more than 12 months."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Säilyttämään rekisteröityjen käyttäjien IP-osoitteita enintään 12 kuukautta."
|
"Säilyttämään rekisteröityjen käyttäjien IP-osoitteita enintään 12 kuukautta."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:109
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:109
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Tokens to authenticate you"
|
msgid "Tokens to authenticate you"
|
||||||
msgstr "Tunnistautumismerkkisi"
|
msgstr "Tunnistautumismerkkisi"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:35
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:35
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We also may retain server logs which include the IP address of every request to our server."
|
msgid "We also may retain server logs which include the IP address of every request to our server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Myös palvelinlokeja, jotka sisältävät jokaisen palvelimelle tehdyn pyynnön "
|
"Myös palvelinlokeja, jotka sisältävät jokaisen palvelimelle tehdyn pyynnön "
|
||||||
"IP-osoitteen, saatetaan säilyttää."
|
"IP-osoitteen, saatetaan säilyttää."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:5
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We collect information from you when you register on this server and gather data when you participate in the\n platform by reading, writing, and interacting with content shared here. If you register on this server, you will\n be asked to enter an e-mail address, a password and at least an username. Your e-mail address will be verified by\n an email containing a unique link. If that link is visited, we know that you control the e-mail address. You may\n also enter additional profile information such as a display name and biography, and upload a profile picture and\n header image. The username, display name, biography, profile picture and header image are always listed publicly.\n You may, however, visit this server without registering."
|
msgid "We collect information from you when you register on this server and gather data when you participate in the\n platform by reading, writing, and interacting with content shared here. If you register on this server, you will\n be asked to enter an e-mail address, a password and at least an username. Your e-mail address will be verified by\n an email containing a unique link. If that link is visited, we know that you control the e-mail address. You may\n also enter additional profile information such as a display name and biography, and upload a profile picture and\n header image. The username, display name, biography, profile picture and header image are always listed publicly.\n You may, however, visit this server without registering."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -536,8 +536,8 @@ msgstr ""
|
|||||||
"aina julkista tietoa. Voit myös käyttää\n"
|
"aina julkista tietoa. Voit myös käyttää\n"
|
||||||
" palvelinta rekisteröitymättä."
|
" palvelinta rekisteröitymättä."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:130
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:130
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This\n does not include trusted third parties who assist us in operating our site, conducting our business, or servicing\n you, so long as those parties agree to keep this information confidential. We may also release your information\n when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or\n others rights, property, or safety."
|
msgid "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This\n does not include trusted third parties who assist us in operating our site, conducting our business, or servicing\n you, so long as those parties agree to keep this information confidential. We may also release your information\n when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or\n others rights, property, or safety."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -552,8 +552,8 @@ msgstr ""
|
|||||||
" noudattamisen tahi meidän tai muiden oikeuksien, omaisuuden tai "
|
" noudattamisen tahi meidän tai muiden oikeuksien, omaisuuden tai "
|
||||||
"turvallisuuden suojelemisen kannalta."
|
"turvallisuuden suojelemisen kannalta."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:62
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter,\n submit, or access your personal information. Among other things, your browser session, as well as the traffic between\n your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way\n algorithm."
|
msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter,\n submit, or access your personal information. Among other things, your browser session, as well as the traffic between\n your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way\n algorithm."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -563,32 +563,32 @@ msgstr ""
|
|||||||
"tietoliikenne ovat SSL/TLS-suojattuja,\n"
|
"tietoliikenne ovat SSL/TLS-suojattuja,\n"
|
||||||
" ja salasanasi salataan vahvalla yksisuuntaisella algoritmilla."
|
" ja salasanasi salataan vahvalla yksisuuntaisella algoritmilla."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:103
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:103
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We store the following information on your device when you connect:"
|
msgid "We store the following information on your device when you connect:"
|
||||||
msgstr "Kun muodostat yhteyden, laitteellesi tallennetaan seuraavat tiedot:"
|
msgstr "Kun muodostat yhteyden, laitteellesi tallennetaan seuraavat tiedot:"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:72
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:72
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We will make a good faith effort to:"
|
msgid "We will make a good faith effort to:"
|
||||||
msgstr "Pyrimme parhaamme mukaan seuraavaan:"
|
msgstr "Pyrimme parhaamme mukaan seuraavaan:"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:43
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:43
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "What do we use your information for?"
|
msgid "What do we use your information for?"
|
||||||
msgstr "Mihin käytämme tietojasi?"
|
msgstr "Mihin käytämme tietojasi?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:71
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:71
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "What is our data retention policy?"
|
msgid "What is our data retention policy?"
|
||||||
msgstr "Millainen tietojensäilytyskäytäntö meillä on?"
|
msgstr "Millainen tietojensäilytyskäytäntö meillä on?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:92
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "You can request and download an archive of your content, including your posts, media attachments, profile picture,\n and header image."
|
msgid "You can request and download an archive of your content, including your posts, media attachments, profile picture,\n and header image."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -596,14 +596,14 @@ msgstr ""
|
|||||||
"julkaisusi, tiedostoliitteesi, profiilikuvasi ja\n"
|
"julkaisusi, tiedostoliitteesi, profiilikuvasi ja\n"
|
||||||
" otsikkokuvasi."
|
" otsikkokuvasi."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:100
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "You may irreversibly delete your account at any time."
|
msgid "You may irreversibly delete your account at any time."
|
||||||
msgstr "Voit milloin tahansa poistaa tilisi pysyvästi."
|
msgstr "Voit milloin tahansa poistaa tilisi pysyvästi."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:142
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:142
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Your content may be downloaded by other servers in the network. Your content is delivered to the servers\n following your instance, and direct messages are delivered to the servers of the recipients, in so far as these\n recipients reside on a different server than this one."
|
msgid "Your content may be downloaded by other servers in the network. Your content is delivered to the servers\n following your instance, and direct messages are delivered to the servers of the recipients, in so far as these\n recipients reside on a different server than this one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -613,8 +613,8 @@ msgstr ""
|
|||||||
"palvelimille, mikäli vastaanottajat ovat\n"
|
"palvelimille, mikäli vastaanottajat ovat\n"
|
||||||
" muulla kuin tällä palvelimella."
|
" muulla kuin tällä palvelimella."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:20
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:20
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to\n different servers and copies are stored there. When you delete events or comments, this is likewise delivered to\n these other instances. The action of joining an event is federated as well. Please keep in mind that the operators\n of the server and any receiving server may view such messages, and that recipients may screenshot, copy or\n otherwise re-share them."
|
msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to\n different servers and copies are stored there. When you delete events or comments, this is likewise delivered to\n these other instances. The action of joining an event is federated as well. Please keep in mind that the operators\n of the server and any receiving server may view such messages, and that recipients may screenshot, copy or\n otherwise re-share them."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -628,14 +628,14 @@ msgstr ""
|
|||||||
"että vastaanottajat voivat kopioida viestin\n"
|
"että vastaanottajat voivat kopioida viestin\n"
|
||||||
" tekstinä tai kuvankaappauksena tai muulla tavoin levittää niitä edelleen."
|
" tekstinä tai kuvankaappauksena tai muulla tavoin levittää niitä edelleen."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:159
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:159
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Changes to our Privacy Policy"
|
msgid "Changes to our Privacy Policy"
|
||||||
msgstr "Muutokset tietosuojakäytäntöön"
|
msgstr "Muutokset tietosuojakäytäntöön"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:154
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:154
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">General Data Protection Regulation</a>) do not use this site."
|
msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">General Data Protection Regulation</a>) do not use this site."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -645,8 +645,8 @@ msgstr ""
|
|||||||
"wiki/Yleinen_tietosuoja-asetus\">yleinen tietosuoja-asetus</a>) mukaisesti "
|
"wiki/Yleinen_tietosuoja-asetus\">yleinen tietosuoja-asetus</a>) mukaisesti "
|
||||||
"et voi käyttää tätä sivustoa."
|
"et voi käyttää tätä sivustoa."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:155
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:155
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) do not use this site."
|
msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) do not use this site."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -656,24 +656,24 @@ msgstr ""
|
|||||||
"27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection "
|
"27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection "
|
||||||
"Act</a>) mukaisesti et voi käyttää tätä sivustoa."
|
"Act</a>) mukaisesti et voi käyttää tätä sivustoa."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:161
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If we decide to change our privacy policy, we will post those changes on this page."
|
msgid "If we decide to change our privacy policy, we will post those changes on this page."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Jos päätämme muuttaa tietosuojakäytäntöämme, muutoksesta kerrotaan tällä "
|
"Jos päätämme muuttaa tietosuojakäytäntöämme, muutoksesta kerrotaan tällä "
|
||||||
"sivulla."
|
"sivulla."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:156
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:156
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Law requirements can be different if this server is in another jurisdiction."
|
msgid "Law requirements can be different if this server is in another jurisdiction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Lakisääteiset vaatimukset saattavat poiketa tästä, jos palvelin sijaitsee "
|
"Lakisääteiset vaatimukset saattavat poiketa tästä, jos palvelin sijaitsee "
|
||||||
"muulla lainkäyttöalueella."
|
"muulla lainkäyttöalueella."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:163
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:163
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Originally adapted from the <a href=\"https://mastodon.social/terms\">Mastodon</a> and <a href=\"https://github.com/discourse/discourse\">Discourse</a> privacy policies."
|
msgid "Originally adapted from the <a href=\"https://mastodon.social/terms\">Mastodon</a> and <a href=\"https://github.com/discourse/discourse\">Discourse</a> privacy policies."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -681,8 +681,8 @@ msgstr ""
|
|||||||
" ja <a href=\"https://github.com/discourse/discourse\">Discoursen</a> "
|
" ja <a href=\"https://github.com/discourse/discourse\">Discoursen</a> "
|
||||||
"tietosuojakäytännöistä."
|
"tietosuojakäytännöistä."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:75
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:75
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more\n than 90 days."
|
msgid "Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more\n than 90 days."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -690,14 +690,14 @@ msgstr ""
|
|||||||
"sisältäviä palvelinlokeja, mikäli sellaisia\n"
|
"sisältäviä palvelinlokeja, mikäli sellaisia\n"
|
||||||
" pidetään, enintään 90 päivän ajan."
|
" pidetään, enintään 90 päivän ajan."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:152
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:152
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Site usage by children"
|
msgid "Site usage by children"
|
||||||
msgstr "Lapset sivuston käyttäjinä"
|
msgstr "Lapset sivuston käyttäjinä"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:55
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:55
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
|
msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -707,15 +707,15 @@ msgstr ""
|
|||||||
"kyselyihisi, tai muihin pyyntöihin tai kysymyksiin\n"
|
"kyselyihisi, tai muihin pyyntöihin tai kysymyksiin\n"
|
||||||
" liittyen."
|
" liittyen."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:162
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:162
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "This document is CC-BY-SA. It was last updated January 16, 2020."
|
msgid "This document is CC-BY-SA. It was last updated January 16, 2020."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tämän asiakirjan käyttöoikeutena on CC-BY-SA. Päivitetty viimeksi 16.1.2020."
|
"Tämän asiakirjan käyttöoikeutena on CC-BY-SA. Päivitetty viimeksi 16.1.2020."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:53
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:53
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
|
msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -723,8 +723,8 @@ msgstr ""
|
|||||||
"muihin tiedossa oleviin osoitteisiin\n"
|
"muihin tiedossa oleviin osoitteisiin\n"
|
||||||
" porttikieltojen kiertämisen tai muiden rikkomusten havaitsemiseksi."
|
" porttikieltojen kiertämisen tai muiden rikkomusten havaitsemiseksi."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:51
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:51
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
|
msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -733,8 +733,8 @@ msgstr ""
|
|||||||
" vaikuttaminen ja oman sisällön julkaiseminen saattaa olla mahdollista "
|
" vaikuttaminen ja oman sisällön julkaiseminen saattaa olla mahdollista "
|
||||||
"vain sisäänkirjautuneena."
|
"vain sisäänkirjautuneena."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:1
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "What information do we collect?"
|
msgid "What information do we collect?"
|
||||||
msgstr "Mitä tietoja kerätään?"
|
msgstr "Mitä tietoja kerätään?"
|
||||||
|
@ -241,12 +241,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "Vous avez demandé à participer à l'événement %{title}."
|
msgstr "Vous avez demandé à participer à l'événement %{title}."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Votre participation à l'événement %{title} a été approuvée"
|
msgstr "Votre participation à l'événement %{title} a été approuvée"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Votre participation à l'événement %{title} a été rejetée"
|
msgstr "Votre participation à l'événement %{title} a été rejetée"
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -232,12 +232,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -229,12 +229,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -249,12 +249,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "U hebt gevraagd om deel te nemen aan het evenement %{title}."
|
msgstr "U hebt gevraagd om deel te nemen aan het evenement %{title}."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Uw deelname aan het evenement %{title} is goedgekeurd"
|
msgstr "Uw deelname aan het evenement %{title} is goedgekeurd"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Uw deelname aan het evenement %{title} is afgewezen"
|
msgstr "Uw deelname aan het evenement %{title} is afgewezen"
|
||||||
|
|
||||||
@ -397,7 +397,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -14,635 +14,635 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 3.9.1\n"
|
"X-Generator: Weblate 3.9.1\n"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/password_reset.html.eex:48
|
#: lib/web/templates/email/password_reset.html.eex:48
|
||||||
#: lib/web/templates/email/password_reset.text.eex:12
|
#: lib/web/templates/email/password_reset.text.eex:12
|
||||||
#, elixir-format
|
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"S’avètz pas demandat aquò, podètz ignorar aqueste corrièl. Vòstre senhal cambiarà pas mentre que cliquetz pas lo ligam çai-jos e ne definiscatz un novèl."
|
"S’avètz pas demandat aquò, podètz ignorar aqueste corrièl. Vòstre senhal cambiarà pas mentre que cliquetz pas lo ligam çai-jos e ne definiscatz un novèl."
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:169
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr "Flux per %{email} sus Mobilizon"
|
msgstr "Flux per %{email} sus Mobilizon"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:155
|
#: lib/web/templates/email/email.html.eex:155
|
||||||
#: lib/web/templates/email/email.text.eex:16
|
#: lib/web/templates/email/email.text.eex:16
|
||||||
#, elixir-format
|
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr "%{instance} es una instància Mobilizon."
|
msgstr "%{instance} es una instància Mobilizon."
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:41
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr "%{reporter_name} (%{reporter_username}) a senhalat lo contengut seguent."
|
msgstr "%{reporter_name} (%{reporter_username}) a senhalat lo contengut seguent."
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:52
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr "%{title} per %{creator}"
|
msgstr "%{title} per %{creator}"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr "Activar mon compte"
|
msgstr "Activar mon compte"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:124
|
#: lib/web/templates/email/email.html.eex:124
|
||||||
#: lib/web/templates/email/email.text.eex:14
|
#: lib/web/templates/email/email.text.eex:14
|
||||||
#, elixir-format
|
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr "Demandatz a la comunautat sus Framacolibri"
|
msgstr "Demandatz a la comunautat sus Framacolibri"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/report.html.eex:66
|
#: lib/web/templates/email/report.html.eex:66
|
||||||
#: lib/web/templates/email/report.text.eex:13
|
#: lib/web/templates/email/report.text.eex:13
|
||||||
#, elixir-format
|
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Comentaris"
|
msgstr "Comentaris"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/report.html.eex:50
|
#: lib/web/templates/email/report.html.eex:50
|
||||||
#: lib/web/templates/email/report.text.eex:6
|
#: lib/web/templates/email/report.text.eex:6
|
||||||
#, elixir-format
|
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr "Eveniment"
|
msgstr "Eveniment"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
|
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
|
||||||
|
|
||||||
#: lib/web/email/user.ex:48
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/user.ex:48
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr "Consignas per reïnincializar vòstre senhal sus %{instance}"
|
msgstr "Consignas per reïnincializar vòstre senhal sus %{instance}"
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:156
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:156
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr "Ne saber mai tocant Mobilizon."
|
msgstr "Ne saber mai tocant Mobilizon."
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr "I sètz gaireben !"
|
msgstr "I sètz gaireben !"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:121
|
#: lib/web/templates/email/email.html.eex:121
|
||||||
#: lib/web/templates/email/email.text.eex:12
|
#: lib/web/templates/email/email.text.eex:12
|
||||||
#, elixir-format
|
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr "Besonh d’ajuda ? Quicòm truca ?"
|
msgstr "Besonh d’ajuda ? Quicòm truca ?"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr "Nòu senhalament sus %{instance}"
|
msgstr "Nòu senhalament sus %{instance}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/report.html.eex:84
|
#: lib/web/templates/email/report.html.eex:84
|
||||||
#: lib/web/templates/email/report.text.eex:22
|
#: lib/web/templates/email/report.text.eex:22
|
||||||
#, elixir-format
|
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr "Rason"
|
msgstr "Rason"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Reïnicializar mon senhal"
|
msgstr "Reïnicializar mon senhal"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr "Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz las consignas. Seretz prèst d’aquí un momenton."
|
msgstr "Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz las consignas. Seretz prèst d’aquí un momenton."
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr "De dificultats a vos connectar ?"
|
msgstr "De dificultats a vos connectar ?"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:104
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:104
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr "Veire lo senhalament"
|
msgstr "Veire lo senhalament"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr "Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un clic de l’activar."
|
msgstr "Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un clic de l’activar."
|
||||||
|
|
||||||
#: lib/web/email/user.ex:28
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/user.ex:28
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr "Consignas per confirmar vòstre compte Mobilizon sus %{instance}"
|
msgstr "Consignas per confirmar vòstre compte Mobilizon sus %{instance}"
|
||||||
|
|
||||||
#: lib/web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr "Nòu senhalament sus l’instància Mobilizon %{instance}"
|
msgstr "Nòu senhalament sus l’instància Mobilizon %{instance}"
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.text.eex:1
|
||||||
msgid "Activate your account"
|
msgid "Activate your account"
|
||||||
msgstr "Activar mon compte"
|
msgstr "Activar mon compte"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:13
|
||||||
msgid "All good!"
|
msgid "All good!"
|
||||||
msgstr "Aquò’s tot bon !"
|
msgstr "Aquò’s tot bon !"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:45
|
#: lib/web/templates/email/event_participation_approved.html.eex:45
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:7
|
#: lib/web/templates/email/event_participation_approved.text.eex:7
|
||||||
#, elixir-format
|
|
||||||
msgid "An organizer just approved your participation. You're now going to this event!"
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"L’organizator ven d’aprovar vòstra participacion. Ara anatz a aqueste "
|
"L’organizator ven d’aprovar vòstra participacion. Ara anatz a aqueste "
|
||||||
"eveniment !"
|
"eveniment !"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:58
|
#: lib/web/templates/email/event_participation_approved.html.eex:58
|
||||||
#: lib/web/templates/email/event_updated.html.eex:101
|
#: lib/web/templates/email/event_updated.html.eex:101
|
||||||
#, elixir-format
|
|
||||||
msgid "Go to event page"
|
msgid "Go to event page"
|
||||||
msgstr "Anar a la pagina de l’eveniment"
|
msgstr "Anar a la pagina de l’eveniment"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:70 lib/web/templates/email/event_updated.html.eex:113
|
#: lib/web/templates/email/event_participation_approved.html.eex:70 lib/web/templates/email/event_updated.html.eex:113
|
||||||
#: lib/web/templates/email/event_updated.text.eex:21
|
#: lib/web/templates/email/event_updated.text.eex:21
|
||||||
#, elixir-format
|
|
||||||
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Se vos fa besonh d’anullar vòstra participacion, vos cal pas qu’accedir a la pagina de l’eveniment via lo ligam çai-jos e clicar lo boton de "
|
"Se vos fa besonh d’anullar vòstra participacion, vos cal pas qu’accedir a la pagina de l’eveniment via lo ligam çai-jos e clicar lo boton de "
|
||||||
"participacion."
|
"participacion."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:11
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:11
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:11
|
#: lib/web/templates/email/event_participation_approved.text.eex:11
|
||||||
#, elixir-format
|
|
||||||
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
msgstr "Se vos fa besonh d’anullar vòstra participacion, vos cal pas qu’accedir al ligam çai-jos e clicar lo boton de participacion."
|
msgstr "Se vos fa besonh d’anullar vòstra participacion, vos cal pas qu’accedir al ligam çai-jos e clicar lo boton de participacion."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:16
|
||||||
msgid "Learn more about Mobilizon:"
|
msgid "Learn more about Mobilizon:"
|
||||||
msgstr "Ne saber mai tocant Mobilizon :"
|
msgstr "Ne saber mai tocant Mobilizon :"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.text.eex:1
|
||||||
msgid "New report from %{reporter} on %{instance}"
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
msgstr "Nòu senhalament sus %{instance}"
|
msgstr "Nòu senhalament sus %{instance}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.text.eex:1
|
||||||
msgid "Participation approved"
|
msgid "Participation approved"
|
||||||
msgstr "Participacion aprovada"
|
msgstr "Participacion aprovada"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_rejected.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.text.eex:1
|
||||||
msgid "Participation rejected"
|
msgid "Participation rejected"
|
||||||
msgstr "Participacion regetada"
|
msgstr "Participacion regetada"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:1
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Reïnicializacion del senhal"
|
msgstr "Reïnicializacion del senhal"
|
||||||
|
|
||||||
#: lib/web/templates/email/password_reset.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:7
|
||||||
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr "Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz las consignas. Seretz prèst d’aquí un momenton."
|
msgstr "Reïnicializar vòstre senhal es facil. Clicatz simplament lo boton e seguètz las consignas. Seretz prèst d’aquí un momenton."
|
||||||
|
|
||||||
#: lib/web/templates/email/event_participation_rejected.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.html.eex:13
|
||||||
msgid "Sorry!"
|
msgid "Sorry!"
|
||||||
msgstr "Nos dòl !"
|
msgstr "Nos dòl !"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_participation_rejected.html.eex:45
|
#: lib/web/templates/email/event_participation_rejected.html.eex:45
|
||||||
#: lib/web/templates/email/event_participation_rejected.text.eex:7
|
#: lib/web/templates/email/event_participation_rejected.text.eex:7
|
||||||
#, elixir-format
|
|
||||||
msgid "Unfortunately, the organizers rejected your participation."
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Malaürosament, los organizaires an regetada vòstra demanda de participacion."
|
"Malaürosament, los organizaires an regetada vòstra demanda de participacion."
|
||||||
|
|
||||||
#: lib/web/templates/email/registration_confirmation.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.text.eex:5
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
msgstr "Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un clic de l’activar."
|
msgstr "Avètz creat un compte sus %{host} amb aquesta adreça electronica. Sètz a un clic de l’activar."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38
|
||||||
#: lib/web/templates/email/event_participation_approved.html.eex:38
|
#: lib/web/templates/email/event_participation_approved.html.eex:38
|
||||||
#, elixir-format
|
|
||||||
msgid "You requested to participate in event %{title}"
|
msgid "You requested to participate in event %{title}"
|
||||||
msgstr "Avètz demandat de participar a l’eveniment %{title}"
|
msgstr "Avètz demandat de participar a l’eveniment %{title}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:5
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:5
|
||||||
#: lib/web/templates/email/event_participation_approved.text.eex:5 lib/web/templates/email/event_participation_rejected.html.eex:38
|
#: lib/web/templates/email/event_participation_approved.text.eex:5 lib/web/templates/email/event_participation_rejected.html.eex:38
|
||||||
#: lib/web/templates/email/event_participation_rejected.text.eex:5
|
#: lib/web/templates/email/event_participation_rejected.text.eex:5
|
||||||
#, elixir-format
|
|
||||||
msgid "You requested to participate in event %{title}."
|
msgid "You requested to participate in event %{title}."
|
||||||
msgstr "Avètz demandat de participar a l’eveniment %{title}."
|
msgstr "Avètz demandat de participar a l’eveniment %{title}."
|
||||||
|
|
||||||
#: lib/web/email/participation.ex:73
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Vòstra participacion a l’eveniment %{title} es estada aprovada"
|
msgstr "Vòstra participacion a l’eveniment %{title} es estada aprovada"
|
||||||
|
|
||||||
#: lib/web/email/participation.ex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Vòstra participacion a l’eveniment %{title} es estada regetada"
|
msgstr "Vòstra participacion a l’eveniment %{title} es estada regetada"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:82
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:82
|
||||||
msgid "Ending of event"
|
msgid "Ending of event"
|
||||||
msgstr "Fin de l’eveniment"
|
msgstr "Fin de l’eveniment"
|
||||||
|
|
||||||
#: lib/web/email/event.ex:35
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/event.ex:35
|
||||||
msgid "Event %{title} has been updated"
|
msgid "Event %{title} has been updated"
|
||||||
msgstr "L’eveniment %{title} es estat actualizat"
|
msgstr "L’eveniment %{title} es estat actualizat"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/event_updated.html.eex:13
|
#: lib/web/templates/email/event_updated.html.eex:13
|
||||||
#: lib/web/templates/email/event_updated.text.eex:1
|
#: lib/web/templates/email/event_updated.text.eex:1
|
||||||
#, elixir-format
|
|
||||||
msgid "Event updated!"
|
msgid "Event updated!"
|
||||||
msgstr "Eveniment actualizat !"
|
msgstr "Eveniment actualizat !"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:16
|
||||||
msgid "New date and time for ending of event: %{ends_on}"
|
msgid "New date and time for ending of event: %{ends_on}"
|
||||||
msgstr "Novèla data e ora de fin de l’eveniment : %{ends_on}"
|
msgstr "Novèla data e ora de fin de l’eveniment : %{ends_on}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:12
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:12
|
||||||
msgid "New date and time for start of event: %{begins_on}"
|
msgid "New date and time for start of event: %{begins_on}"
|
||||||
msgstr "Novèla data e ora de debuta de l’eveniment : %{begins_on}"
|
msgstr "Novèla data e ora de debuta de l’eveniment : %{begins_on}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:8
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:8
|
||||||
msgid "New title: %{title}"
|
msgid "New title: %{title}"
|
||||||
msgstr "Títol novèl : %{title}"
|
msgstr "Títol novèl : %{title}"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:72
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:72
|
||||||
msgid "Start of event"
|
msgid "Start of event"
|
||||||
msgstr "Debuta de l’eveniment"
|
msgstr "Debuta de l’eveniment"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:5
|
||||||
msgid "The event %{title} was just updated"
|
msgid "The event %{title} was just updated"
|
||||||
msgstr "L’eveniment %{title} es estat actualizat"
|
msgstr "L’eveniment %{title} es estat actualizat"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:38
|
||||||
msgid "The event %{title} was updated"
|
msgid "The event %{title} was updated"
|
||||||
msgstr "L’eveniment %{title} es estat actualizat"
|
msgstr "L’eveniment %{title} es estat actualizat"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:62
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Títol"
|
msgstr "Títol"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.text.eex:19
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:19
|
||||||
msgid "View the updated event on: %{link}"
|
msgid "View the updated event on: %{link}"
|
||||||
msgstr "Veire l’eveniment actualizat sus : %{link}"
|
msgstr "Veire l’eveniment actualizat sus : %{link}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/password_reset.html.eex:38
|
#: lib/web/templates/email/password_reset.html.eex:38
|
||||||
#: lib/web/templates/email/password_reset.text.eex:5
|
#: lib/web/templates/email/password_reset.text.eex:5
|
||||||
#, elixir-format
|
|
||||||
msgid "You requested a new password for your account on %{instance}."
|
msgid "You requested a new password for your account on %{instance}."
|
||||||
msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{instance}."
|
msgstr "Avètz demandat un nòu senhal per vòstre compte sus %{instance}."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:95
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:95
|
||||||
msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
|
msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"D’aquel temps, consideratz que lo logicial es pas (encara) acabat. Mai d’"
|
"D’aquel temps, consideratz que lo logicial es pas (encara) acabat. Mai d’"
|
||||||
"informacion %{a_start}sus nòstre blòg%{a_end}."
|
"informacion %{a_start}sus nòstre blòg%{a_end}."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:94
|
||||||
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
|
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Mobilizon es en desvolopament, ajustarem de nòvas foncionalitats a aqueste "
|
"Mobilizon es en desvolopament, ajustarem de nòvas foncionalitats a aqueste "
|
||||||
"site pendent de mesas a jorn regularas, fins a la publicacion de %{b_start}"
|
"site pendent de mesas a jorn regularas, fins a la publicacion de %{b_start}"
|
||||||
"la version 1 del logicial al primièr semèstre 2020%{b_end}."
|
"la version 1 del logicial al primièr semèstre 2020%{b_end}."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/email.html.eex:91
|
#: lib/web/templates/email/email.html.eex:91
|
||||||
#: lib/web/templates/email/email.text.eex:6
|
#: lib/web/templates/email/email.text.eex:6
|
||||||
#, elixir-format
|
|
||||||
msgid "This is a demonstration site to test the beta version of Mobilizon."
|
msgid "This is a demonstration site to test the beta version of Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aquò es un site de demostracion per ensajar la version beta de Mobilizon."
|
"Aquò es un site de demostracion per ensajar la version beta de Mobilizon."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:89
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:89
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr "Avertiment"
|
msgstr "Avertiment"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:54
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:54
|
||||||
msgid "Event has been cancelled"
|
msgid "Event has been cancelled"
|
||||||
msgstr "L’eveniment es estat anullat"
|
msgstr "L’eveniment es estat anullat"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:50
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:50
|
||||||
msgid "Event has been confirmed"
|
msgid "Event has been confirmed"
|
||||||
msgstr "L’eveniment es estat confirmat"
|
msgstr "L’eveniment es estat confirmat"
|
||||||
|
|
||||||
#: lib/web/templates/email/event_updated.html.eex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:52
|
||||||
msgid "Event status has been set as tentative"
|
msgid "Event status has been set as tentative"
|
||||||
msgstr "L’estatut de l’eveniment es estat definit coma « de confirmar »"
|
msgstr "L’estatut de l’eveniment es estat definit coma « de confirmar »"
|
||||||
|
|
||||||
#: lib/web/templates/email/email.html.eex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:92
|
||||||
msgid "%{b_start}Please do not use it in any real way%{b_end}"
|
msgid "%{b_start}Please do not use it in any real way%{b_end}"
|
||||||
msgstr "%{b_start}Mercés de l’utilizar pas d’un biais real%{b_end}"
|
msgstr "%{b_start}Mercés de l’utilizar pas d’un biais real%{b_end}"
|
||||||
|
|
||||||
#: lib/web/templates/email/report.html.eex:39
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:39
|
||||||
msgid "Someone on %{instance} reported the following content."
|
msgid "Someone on %{instance} reported the following content."
|
||||||
msgstr "Qualqu’un de %{instance} a senhalat aqueste contengut."
|
msgstr "Qualqu’un de %{instance} a senhalat aqueste contengut."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:10
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:10
|
||||||
msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
|
msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"D’aquel temps, consideratz que lo logicial es pas (encara) acabat. Mai d’"
|
"D’aquel temps, consideratz que lo logicial es pas (encara) acabat. Mai d’"
|
||||||
"informacions sus nòstre blòg :"
|
"informacions sus nòstre blòg :"
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:9
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:9
|
||||||
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
|
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Mobilizon es en desvolopament, ajustarem de nòvas foncionalitats a aqueste "
|
"Mobilizon es en desvolopament, ajustarem de nòvas foncionalitats a aqueste "
|
||||||
"site pendent de mesas a jorn regularas, fins a la publicacion de "
|
"site pendent de mesas a jorn regularas, fins a la publicacion de "
|
||||||
"la version 1 del logicial al primièr semèstre 2020."
|
"la version 1 del logicial al primièr semèstre 2020."
|
||||||
|
|
||||||
#: lib/web/templates/email/email.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:7
|
||||||
msgid "Please do not use it in any real way"
|
msgid "Please do not use it in any real way"
|
||||||
msgstr "Mercés de l’utilizar pas d’un biais real"
|
msgstr "Mercés de l’utilizar pas d’un biais real"
|
||||||
|
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||||
msgid "Confirm my participation"
|
msgid "Confirm my participation"
|
||||||
msgstr "Confirmar ma participacion"
|
msgstr "Confirmar ma participacion"
|
||||||
|
|
||||||
#: lib/web/email/participation.ex:95
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr "Confirmatz vòstra participacion a l’eveniment %{title}"
|
msgstr "Confirmatz vòstra participacion a l’eveniment %{title}"
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:7
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:7
|
||||||
#, elixir-format
|
|
||||||
msgid "If you didn't request this email, you can simply ignore it."
|
msgid "If you didn't request this email, you can simply ignore it."
|
||||||
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
|
msgstr "S’avètz pas demandat aquò, mercés d’ignorar aqueste messatge."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13
|
||||||
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
|
||||||
#, elixir-format
|
|
||||||
msgid "Participation confirmation"
|
msgid "Participation confirmation"
|
||||||
msgstr "Confirmacion de participacion"
|
msgstr "Confirmacion de participacion"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:108
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:108
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "An internal ID for your current selected identity"
|
msgid "An internal ID for your current selected identity"
|
||||||
msgstr "Un ID intèrn de la vòstra identitat actualament seleccionada"
|
msgstr "Un ID intèrn de la vòstra identitat actualament seleccionada"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:107
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:107
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "An internal user ID"
|
msgid "An internal user ID"
|
||||||
msgstr "Un ID intèrn d’utilizaire"
|
msgstr "Un ID intèrn d’utilizaire"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:45
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Any of the information we collect from you may be used in the following ways:"
|
msgid "Any of the information we collect from you may be used in the following ways:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:4
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:4
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Basic account information"
|
msgid "Basic account information"
|
||||||
msgstr "Informacion basicas de compte"
|
msgstr "Informacion basicas de compte"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:28
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:28
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Do not share any dangerous information over Mobilizon."
|
msgid "Do not share any dangerous information over Mobilizon."
|
||||||
msgstr "Partegetz pas cap d’informacion perilhosa sus Mobilizon."
|
msgstr "Partegetz pas cap d’informacion perilhosa sus Mobilizon."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:126
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:126
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Do we disclose any information to outside parties?"
|
msgid "Do we disclose any information to outside parties?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:101
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:101
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Do we use cookies?"
|
msgid "Do we use cookies?"
|
||||||
msgstr "Utilizam de cookies ?"
|
msgstr "Utilizam de cookies ?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:59
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:59
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "How do we protect your information?"
|
msgid "How do we protect your information?"
|
||||||
msgstr "Cossí protegissèm vòstras informacions ?"
|
msgstr "Cossí protegissèm vòstras informacions ?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:32
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:32
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "IPs and other metadata"
|
msgid "IPs and other metadata"
|
||||||
msgstr "Adreças IP e autras metadonadas"
|
msgstr "Adreças IP e autras metadonadas"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:111
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:111
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If you delete these informations, you need to login again."
|
msgid "If you delete these informations, you need to login again."
|
||||||
msgstr "Se suprimissètz aquestas informacions, deuriatz vos tornar connectar."
|
msgstr "Se suprimissètz aquestas informacions, deuriatz vos tornar connectar."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:113
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:113
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If you're not connected, we don't store any information on your device, unless you participate in an event\n anonymously. In that case we store the hash of the UUID and participation status in your browser so that we may\n display participation status. Deleting these informations will only stop displaying participation status in your\n browser."
|
msgid "If you're not connected, we don't store any information on your device, unless you participate in an event\n anonymously. In that case we store the hash of the UUID and participation status in your browser so that we may\n display participation status. Deleting these informations will only stop displaying participation status in your\n browser."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:123
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:123
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Note: These informations are stored in your localStorage and not your cookies."
|
msgid "Note: These informations are stored in your localStorage and not your cookies."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Nòta : aquestas informacions son gardadas dins lo localStorage e non pas "
|
"Nòta : aquestas informacions son gardadas dins lo localStorage e non pas "
|
||||||
"dins de cookies."
|
"dins de cookies."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:18
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:18
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Published events and comments"
|
msgid "Published events and comments"
|
||||||
msgstr "Eveniments e comentaris publicats"
|
msgstr "Eveniments e comentaris publicats"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:83
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:83
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Retain the IP addresses associated with registered users no more than 12 months."
|
msgid "Retain the IP addresses associated with registered users no more than 12 months."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:109
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:109
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Tokens to authenticate you"
|
msgid "Tokens to authenticate you"
|
||||||
msgstr "Getons per vos identificar"
|
msgstr "Getons per vos identificar"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:35
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:35
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We also may retain server logs which include the IP address of every request to our server."
|
msgid "We also may retain server logs which include the IP address of every request to our server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:5
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We collect information from you when you register on this server and gather data when you participate in the\n platform by reading, writing, and interacting with content shared here. If you register on this server, you will\n be asked to enter an e-mail address, a password and at least an username. Your e-mail address will be verified by\n an email containing a unique link. If that link is visited, we know that you control the e-mail address. You may\n also enter additional profile information such as a display name and biography, and upload a profile picture and\n header image. The username, display name, biography, profile picture and header image are always listed publicly.\n You may, however, visit this server without registering."
|
msgid "We collect information from you when you register on this server and gather data when you participate in the\n platform by reading, writing, and interacting with content shared here. If you register on this server, you will\n be asked to enter an e-mail address, a password and at least an username. Your e-mail address will be verified by\n an email containing a unique link. If that link is visited, we know that you control the e-mail address. You may\n also enter additional profile information such as a display name and biography, and upload a profile picture and\n header image. The username, display name, biography, profile picture and header image are always listed publicly.\n You may, however, visit this server without registering."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:130
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:130
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This\n does not include trusted third parties who assist us in operating our site, conducting our business, or servicing\n you, so long as those parties agree to keep this information confidential. We may also release your information\n when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or\n others rights, property, or safety."
|
msgid "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This\n does not include trusted third parties who assist us in operating our site, conducting our business, or servicing\n you, so long as those parties agree to keep this information confidential. We may also release your information\n when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or\n others rights, property, or safety."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:62
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter,\n submit, or access your personal information. Among other things, your browser session, as well as the traffic between\n your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way\n algorithm."
|
msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter,\n submit, or access your personal information. Among other things, your browser session, as well as the traffic between\n your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way\n algorithm."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:103
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:103
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We store the following information on your device when you connect:"
|
msgid "We store the following information on your device when you connect:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Gardam las informacions seguentas sus vòstre aparelh quand vos connectatz :"
|
"Gardam las informacions seguentas sus vòstre aparelh quand vos connectatz :"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:72
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:72
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "We will make a good faith effort to:"
|
msgid "We will make a good faith effort to:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:43
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:43
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "What do we use your information for?"
|
msgid "What do we use your information for?"
|
||||||
msgstr "Per qué utilizam vòstras informacions ?"
|
msgstr "Per qué utilizam vòstras informacions ?"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:71
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:71
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "What is our data retention policy?"
|
msgid "What is our data retention policy?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:92
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "You can request and download an archive of your content, including your posts, media attachments, profile picture,\n and header image."
|
msgid "You can request and download an archive of your content, including your posts, media attachments, profile picture,\n and header image."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:100
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:100
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "You may irreversibly delete your account at any time."
|
msgid "You may irreversibly delete your account at any time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:142
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:142
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Your content may be downloaded by other servers in the network. Your content is delivered to the servers\n following your instance, and direct messages are delivered to the servers of the recipients, in so far as these\n recipients reside on a different server than this one."
|
msgid "Your content may be downloaded by other servers in the network. Your content is delivered to the servers\n following your instance, and direct messages are delivered to the servers of the recipients, in so far as these\n recipients reside on a different server than this one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:20
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:20
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to\n different servers and copies are stored there. When you delete events or comments, this is likewise delivered to\n these other instances. The action of joining an event is federated as well. Please keep in mind that the operators\n of the server and any receiving server may view such messages, and that recipients may screenshot, copy or\n otherwise re-share them."
|
msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to\n different servers and copies are stored there. When you delete events or comments, this is likewise delivered to\n these other instances. The action of joining an event is federated as well. Please keep in mind that the operators\n of the server and any receiving server may view such messages, and that recipients may screenshot, copy or\n otherwise re-share them."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:159
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:159
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Changes to our Privacy Policy"
|
msgid "Changes to our Privacy Policy"
|
||||||
msgstr "Cambiaments dins nòstra politica de confidencialitat"
|
msgstr "Cambiaments dins nòstra politica de confidencialitat"
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:154
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:154
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">General Data Protection Regulation</a>) do not use this site."
|
msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">General Data Protection Regulation</a>) do not use this site."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:155
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:155
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) do not use this site."
|
msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) do not use this site."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:161
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:161
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "If we decide to change our privacy policy, we will post those changes on this page."
|
msgid "If we decide to change our privacy policy, we will post those changes on this page."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:156
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:156
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Law requirements can be different if this server is in another jurisdiction."
|
msgid "Law requirements can be different if this server is in another jurisdiction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:163
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:163
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Originally adapted from the <a href=\"https://mastodon.social/terms\">Mastodon</a> and <a href=\"https://github.com/discourse/discourse\">Discourse</a> privacy policies."
|
msgid "Originally adapted from the <a href=\"https://mastodon.social/terms\">Mastodon</a> and <a href=\"https://github.com/discourse/discourse\">Discourse</a> privacy policies."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:75
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:75
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more\n than 90 days."
|
msgid "Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more\n than 90 days."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:152
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:152
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "Site usage by children"
|
msgid "Site usage by children"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:55
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:55
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
|
msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:162
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:162
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "This document is CC-BY-SA. It was last updated January 16, 2020."
|
msgid "This document is CC-BY-SA. It was last updated January 16, 2020."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aqueste document es jos licéncia CC-BY-SA. Sa darrièra mesa a jorn es del 16 "
|
"Aqueste document es jos licéncia CC-BY-SA. Sa darrièra mesa a jorn es del 16 "
|
||||||
"de genièr de 2020."
|
"de genièr de 2020."
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:53
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:53
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
|
msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:51
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:51
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
|
msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/web/templates/api/terms.html.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:1
|
||||||
msgctxt "terms"
|
msgctxt "terms"
|
||||||
msgid "What information do we collect?"
|
msgid "What information do we collect?"
|
||||||
msgstr "Quinas informacions reculem ?"
|
msgstr "Quinas informacions reculem ?"
|
||||||
|
@ -250,12 +250,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr "Poprosiłeś(-aś) o uczestnictwo w wydarzeniu %{title}."
|
msgstr "Poprosiłeś(-aś) o uczestnictwo w wydarzeniu %{title}."
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Twój udział w wydarzeniu %{title} został zatwierdzony"
|
msgstr "Twój udział w wydarzeniu %{title} został zatwierdzony"
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Twój udział w wydarzeniu %(title} został odrzucony"
|
msgstr "Twój udział w wydarzeniu %(title} został odrzucony"
|
||||||
|
|
||||||
@ -400,7 +400,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -229,12 +229,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -367,7 +367,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -240,12 +240,12 @@ msgid "You requested to participate in event %{title}."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:73
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:52
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -378,7 +378,7 @@ msgid "Confirm my participation"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
#: lib/web/email/participation.ex:95
|
#: lib/web/email/participation.ex:113
|
||||||
msgid "Confirm your participation to event %{title}"
|
msgid "Confirm your participation to event %{title}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -14,366 +14,633 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 3.9.1\n"
|
"X-Generator: Weblate 3.9.1\n"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:48
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.text.eex:12
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:48
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:12
|
||||||
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
msgid "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Du kan ignorera det här meddelandet om du inte frågade efter det. Ditt "
|
"Du kan ignorera det här meddelandet om du inte frågade efter det. Ditt "
|
||||||
"lösenord kommer inte ändras förrän du har öppnat länken nedan och skapat ett "
|
"lösenord kommer inte ändras förrän du har öppnat länken nedan och skapat ett "
|
||||||
"nytt."
|
"nytt."
|
||||||
|
|
||||||
#: lib/service/export/feed.ex:169
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/service/export/feed.ex:169
|
||||||
msgid "Feed for %{email} on Mobilizon"
|
msgid "Feed for %{email} on Mobilizon"
|
||||||
msgstr "Flöde för %{email} på Mobilizon"
|
msgstr "Flöde för %{email} på Mobilizon"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:155
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:155
|
||||||
|
#: lib/web/templates/email/email.text.eex:16
|
||||||
msgid "%{instance} is a Mobilizon server."
|
msgid "%{instance} is a Mobilizon server."
|
||||||
msgstr "%{instance} är en Mobilizon-server."
|
msgstr "%{instance} är en Mobilizon-server."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:41
|
||||||
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
msgid "%{reporter_name} (%{reporter_username}) reported the following content."
|
||||||
msgstr "%{reporter_name} (%{reporter_username}) har anmält följande innehåll."
|
msgstr "%{reporter_name} (%{reporter_username}) har anmält följande innehåll."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:52
|
||||||
msgid "%{title} by %{creator}"
|
msgid "%{title} by %{creator}"
|
||||||
msgstr "%{title} av %{creator}"
|
msgstr "%{title} av %{creator}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:58
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:58
|
||||||
msgid "Activate my account"
|
msgid "Activate my account"
|
||||||
msgstr "Aktivera mitt konto"
|
msgstr "Aktivera mitt konto"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:124
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:14
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:124
|
||||||
|
#: lib/web/templates/email/email.text.eex:14
|
||||||
msgid "Ask the community on Framacolibri"
|
msgid "Ask the community on Framacolibri"
|
||||||
msgstr "Fråga människorna på Framacolibri"
|
msgstr "Fråga människorna på Framacolibri"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:66
|
|
||||||
#: lib/mobilizon_web/templates/email/report.text.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:66
|
||||||
|
#: lib/web/templates/email/report.text.eex:13
|
||||||
msgid "Comments"
|
msgid "Comments"
|
||||||
msgstr "Kommentarer"
|
msgstr "Kommentarer"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:50
|
|
||||||
#: lib/mobilizon_web/templates/email/report.text.eex:6
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:50
|
||||||
|
#: lib/web/templates/email/report.text.eex:6
|
||||||
msgid "Event"
|
msgid "Event"
|
||||||
msgstr "Evenemang"
|
msgstr "Evenemang"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:45
|
||||||
msgid "If you didn't request this, please ignore this email."
|
msgid "If you didn't request this, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Du kan strunta i det här meddelandet om det inte var du frågade efter det."
|
"Du kan strunta i det här meddelandet om det inte var du frågade efter det."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:45
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/user.ex:48
|
||||||
msgid "Instructions to reset your password on %{instance}"
|
msgid "Instructions to reset your password on %{instance}"
|
||||||
msgstr "Instruktioner för att återställa ditt lösenord på %{instance}"
|
msgstr "Instruktioner för att återställa ditt lösenord på %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:156
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:156
|
||||||
msgid "Learn more about Mobilizon."
|
msgid "Learn more about Mobilizon."
|
||||||
msgstr "Läs mer om Mobilizon."
|
msgstr "Läs mer om Mobilizon."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:13
|
||||||
msgid "Nearly here!"
|
msgid "Nearly here!"
|
||||||
msgstr "Snart framme!"
|
msgstr "Snart framme!"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:121
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:12
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:121
|
||||||
|
#: lib/web/templates/email/email.text.eex:12
|
||||||
msgid "Need some help? Something not working properly?"
|
msgid "Need some help? Something not working properly?"
|
||||||
msgstr "Behöver du hjälp? Är det något som krånglar?"
|
msgstr "Behöver du hjälp? Är det något som krånglar?"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:13
|
||||||
msgid "New report on %{instance}"
|
msgid "New report on %{instance}"
|
||||||
msgstr "Ny anmälan på %{instance}"
|
msgstr "Ny anmälan på %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:84
|
|
||||||
#: lib/mobilizon_web/templates/email/report.text.eex:22
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:84
|
||||||
|
#: lib/web/templates/email/report.text.eex:22
|
||||||
msgid "Reason"
|
msgid "Reason"
|
||||||
msgstr "Motivering"
|
msgstr "Motivering"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:61
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:61
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Återställ lösenordet"
|
msgstr "Återställ lösenordet"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:41
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:41
|
||||||
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just press the button below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Det är enkelt att återställa ditt lösenord, klicka bara på knappen nedan och "
|
"Det är enkelt att återställa ditt lösenord, klicka bara på knappen nedan och "
|
||||||
"följ instruktionerna. Du kommer vara igång igen på nolltid."
|
"följ instruktionerna. Du kommer vara igång igen på nolltid."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:13
|
||||||
msgid "Trouble signing in?"
|
msgid "Trouble signing in?"
|
||||||
msgstr "Svårt att logga in?"
|
msgstr "Svårt att logga in?"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:104
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:104
|
||||||
msgid "View the report"
|
msgid "View the report"
|
||||||
msgstr "Visa anmälan"
|
msgstr "Visa anmälan"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.html.eex:38
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Du har skapat ett konto på %{host} med den här e-postadressen. Nu återstår "
|
"Du har skapat ett konto på %{host} med den här e-postadressen. Nu återstår "
|
||||||
"bara ett klick för att aktivera det."
|
"bara ett klick för att aktivera det."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/user.ex:25
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/user.ex:28
|
||||||
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
msgid "Instructions to confirm your Mobilizon account on %{instance}"
|
||||||
msgstr "Instruktioner för att bekräfta ditt Mobilizon-konto på %{instance}"
|
msgstr "Instruktioner för att bekräfta ditt Mobilizon-konto på %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/admin.ex:23
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/admin.ex:23
|
||||||
msgid "New report on Mobilizon instance %{instance}"
|
msgid "New report on Mobilizon instance %{instance}"
|
||||||
msgstr "Ny anmälan på Mobilizon-instansen %{instance}"
|
msgstr "Ny anmälan på Mobilizon-instansen %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.text.eex:1
|
||||||
msgid "Activate your account"
|
msgid "Activate your account"
|
||||||
msgstr "Aktivera ditt konto"
|
msgstr "Aktivera ditt konto"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:13
|
||||||
msgid "All good!"
|
msgid "All good!"
|
||||||
msgstr "Allt är i sin ordning!"
|
msgstr "Allt är i sin ordning!"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:45
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:45
|
||||||
|
#: lib/web/templates/email/event_participation_approved.text.eex:7
|
||||||
msgid "An organizer just approved your participation. You're now going to this event!"
|
msgid "An organizer just approved your participation. You're now going to this event!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"En organisatör godkände nyss ditt deltagande. Nu kan du delta i det här "
|
"En organisatör godkände nyss ditt deltagande. Nu kan du delta i det här "
|
||||||
"evenemanget!"
|
"evenemanget!"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:58
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:101
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:58
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:101
|
||||||
msgid "Go to event page"
|
msgid "Go to event page"
|
||||||
msgstr "Gå till evenemangets sida"
|
msgstr "Gå till evenemangets sida"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:70
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:113 lib/mobilizon_web/templates/email/event_updated.text.eex:21
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:70
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:70 lib/web/templates/email/event_updated.html.eex:113
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:21
|
||||||
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
msgid "If you need to cancel your participation, just access the event page through link above and click on the participation button."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Om du behöver lämna återbud är det bara att gå till evenemangets sida, på "
|
"Om du behöver lämna återbud är det bara att gå till evenemangets sida, på "
|
||||||
"länken ovan, och klicka på deltagande-knappen."
|
"länken ovan, och klicka på deltagande-knappen."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:11
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:11
|
||||||
|
#: lib/web/templates/email/event_participation_approved.text.eex:11
|
||||||
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
msgid "If you need to cancel your participation, just access the previous link and click on the participation button."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Om du behöver lämna återbud är det bara att gå till förra sidan och klicka "
|
"Om du behöver lämna återbud är det bara att gå till förra sidan och klicka "
|
||||||
"på deltagande-knappen."
|
"på deltagande-knappen."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:16
|
||||||
msgid "Learn more about Mobilizon:"
|
msgid "Learn more about Mobilizon:"
|
||||||
msgstr "Lär dig mer om Mobilizon:"
|
msgstr "Lär dig mer om Mobilizon:"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.text.eex:1
|
||||||
msgid "New report from %{reporter} on %{instance}"
|
msgid "New report from %{reporter} on %{instance}"
|
||||||
msgstr "Ny anmälan från %{reporter} på %{instance}"
|
msgstr "Ny anmälan från %{reporter} på %{instance}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_approved.text.eex:1
|
||||||
msgid "Participation approved"
|
msgid "Participation approved"
|
||||||
msgstr "Ditt deltagande har godkänts"
|
msgstr "Ditt deltagande har godkänts"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.text.eex:1
|
||||||
msgid "Participation rejected"
|
msgid "Participation rejected"
|
||||||
msgstr "Ditt deltagande har inte godkänts"
|
msgstr "Ditt deltagande har inte godkänts"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:1
|
||||||
msgid "Password reset"
|
msgid "Password reset"
|
||||||
msgstr "Återställ lösenord"
|
msgstr "Återställ lösenord"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:7
|
||||||
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
msgid "Resetting your password is easy. Just click the link below and follow the instructions. We'll have you up and running in no time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Det är enkelt att återställa ditt lösenord, klicka bara på knappen nedan och "
|
"Det är enkelt att återställa ditt lösenord, klicka bara på knappen nedan och "
|
||||||
"följ instruktionerna. Du kommer vara igång igen på nolltid."
|
"följ instruktionerna. Du kommer vara igång igen på nolltid."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:13
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.html.eex:13
|
||||||
msgid "Sorry!"
|
msgid "Sorry!"
|
||||||
msgstr "Vi beklagar!"
|
msgstr "Vi beklagar!"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:45
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.html.eex:45
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.text.eex:7
|
||||||
msgid "Unfortunately, the organizers rejected your participation."
|
msgid "Unfortunately, the organizers rejected your participation."
|
||||||
msgstr "Organisatörerna har tyvärr gjort avslag på ditt deltagande."
|
msgstr "Organisatörerna har tyvärr gjort avslag på ditt deltagande."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/registration_confirmation.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/registration_confirmation.text.eex:5
|
||||||
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
msgid "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Du har skapat ett konto på %{host} med den här e-postadressen. Det återstår "
|
"Du har skapat ett konto på %{host} med den här e-postadressen. Det återstår "
|
||||||
"bara ett klick för att aktivera den. Om det inte var du som gjorde det kan "
|
"bara ett klick för att aktivera den. Om det inte var du som gjorde det kan "
|
||||||
"du strunta i det här meddelandet."
|
"du strunta i det här meddelandet."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:38
|
||||||
|
#: lib/web/templates/email/event_participation_approved.html.eex:38
|
||||||
msgid "You requested to participate in event %{title}"
|
msgid "You requested to participate in event %{title}"
|
||||||
msgstr "Du har bett om att få delta i evenemanget %{title}"
|
msgstr "Du har bett om att få delta i evenemanget %{title}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_approved.text.eex:5
|
|
||||||
#: lib/mobilizon_web/templates/email/event_participation_rejected.html.eex:38 lib/mobilizon_web/templates/email/event_participation_rejected.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:5
|
||||||
|
#: lib/web/templates/email/event_participation_approved.text.eex:5 lib/web/templates/email/event_participation_rejected.html.eex:38
|
||||||
|
#: lib/web/templates/email/event_participation_rejected.text.eex:5
|
||||||
msgid "You requested to participate in event %{title}."
|
msgid "You requested to participate in event %{title}."
|
||||||
msgstr "Du har bett om att få delta i evenemanget %{title}."
|
msgstr "Du har bett om att få delta i evenemanget %{title}."
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/participation.ex:73
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:91
|
||||||
msgid "Your participation to event %{title} has been approved"
|
msgid "Your participation to event %{title} has been approved"
|
||||||
msgstr "Din förfrågan om att få delta i evenemanget %{title} har godkännts"
|
msgstr "Din förfrågan om att få delta i evenemanget %{title} har godkännts"
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/participation.ex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:70
|
||||||
msgid "Your participation to event %{title} has been rejected"
|
msgid "Your participation to event %{title} has been rejected"
|
||||||
msgstr "Din förfrågan om att få delta i evenemanget %{title} har fått avslag"
|
msgstr "Din förfrågan om att få delta i evenemanget %{title} har fått avslag"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:82
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:82
|
||||||
msgid "Ending of event"
|
msgid "Ending of event"
|
||||||
msgstr "Evenemangets slut"
|
msgstr "Evenemangets slut"
|
||||||
|
|
||||||
#: lib/mobilizon_web/email/event.ex:30
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/email/event.ex:35
|
||||||
msgid "Event %{title} has been updated"
|
msgid "Event %{title} has been updated"
|
||||||
msgstr "Evenemanget %{title} har uppdaterats"
|
msgstr "Evenemanget %{title} har uppdaterats"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:13
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.text.eex:1
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:13
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:1
|
||||||
msgid "Event updated!"
|
msgid "Event updated!"
|
||||||
msgstr "Evenemang uppdaterat!"
|
msgstr "Evenemang uppdaterat!"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.text.eex:16
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:16
|
||||||
msgid "New date and time for ending of event: %{ends_on}"
|
msgid "New date and time for ending of event: %{ends_on}"
|
||||||
msgstr "Nytt datum och tid för evenemangets slut: %{ends_on}"
|
msgstr "Nytt datum och tid för evenemangets slut: %{ends_on}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.text.eex:12
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:12
|
||||||
msgid "New date and time for start of event: %{begins_on}"
|
msgid "New date and time for start of event: %{begins_on}"
|
||||||
msgstr "Nytt datum och tid för evenemangets början: %{begins_on}"
|
msgstr "Nytt datum och tid för evenemangets början: %{begins_on}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.text.eex:8
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:8
|
||||||
msgid "New title: %{title}"
|
msgid "New title: %{title}"
|
||||||
msgstr "Ny titel: %{title}"
|
msgstr "Ny titel: %{title}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:72
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:72
|
||||||
msgid "Start of event"
|
msgid "Start of event"
|
||||||
msgstr "Evenemangets början"
|
msgstr "Evenemangets början"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:5
|
||||||
msgid "The event %{title} was just updated"
|
msgid "The event %{title} was just updated"
|
||||||
msgstr "Evenemanget %{title} uppdaterades nyss"
|
msgstr "Evenemanget %{title} uppdaterades nyss"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:38
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:38
|
||||||
msgid "The event %{title} was updated"
|
msgid "The event %{title} was updated"
|
||||||
msgstr "Evenemanget %{title} uppdaterades"
|
msgstr "Evenemanget %{title} uppdaterades"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:62
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:62
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.text.eex:19
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.text.eex:19
|
||||||
msgid "View the updated event on: %{link}"
|
msgid "View the updated event on: %{link}"
|
||||||
msgstr "Visa det uppdaterade evenemanget på %{link}"
|
msgstr "Visa det uppdaterade evenemanget på %{link}"
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.html.eex:38
|
|
||||||
#: lib/mobilizon_web/templates/email/password_reset.text.eex:5
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/password_reset.html.eex:38
|
||||||
|
#: lib/web/templates/email/password_reset.text.eex:5
|
||||||
msgid "You requested a new password for your account on %{instance}."
|
msgid "You requested a new password for your account on %{instance}."
|
||||||
msgstr "Du har bett om ett nytt lösenord för ditt konto på %{instance}."
|
msgstr "Du har bett om ett nytt lösenord för ditt konto på %{instance}."
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:95
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:95
|
||||||
msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
|
msgid "In the meantime, please consider that the software is not (yet) finished. More information %{a_start}on our blog%{a_end}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:94
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:94
|
||||||
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
|
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of %{b_start}version 1 of the software in the first half of 2020%{b_end}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:91
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:6
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:91
|
||||||
|
#: lib/web/templates/email/email.text.eex:6
|
||||||
msgid "This is a demonstration site to test the beta version of Mobilizon."
|
msgid "This is a demonstration site to test the beta version of Mobilizon."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:89
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:89
|
||||||
msgid "Warning"
|
msgid "Warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:54
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:54
|
||||||
msgid "Event has been cancelled"
|
msgid "Event has been cancelled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:50
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:50
|
||||||
msgid "Event has been confirmed"
|
msgid "Event has been confirmed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/event_updated.html.eex:52
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/event_updated.html.eex:52
|
||||||
msgid "Event status has been set as tentative"
|
msgid "Event status has been set as tentative"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.html.eex:92
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.html.eex:92
|
||||||
msgid "%{b_start}Please do not use it in any real way%{b_end}"
|
msgid "%{b_start}Please do not use it in any real way%{b_end}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/report.html.eex:39
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/report.html.eex:39
|
||||||
msgid "Someone on %{instance} reported the following content."
|
msgid "Someone on %{instance} reported the following content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:10
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:10
|
||||||
msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
|
msgid "In the meantime, please consider that the software is not (yet) finished. More information on our blog:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:9
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:9
|
||||||
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
|
msgid "Mobilizon is under development, we will add new features to this site during regular updates, until the release of version 1 of the software in the first half of 2020."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mobilizon_web/templates/email/email.text.eex:7
|
|
||||||
#, elixir-format
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/email.text.eex:7
|
||||||
msgid "Please do not use it in any real way"
|
msgid "Please do not use it in any real way"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:58
|
||||||
|
msgid "Confirm my participation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/email/participation.ex:113
|
||||||
|
msgid "Confirm your participation to event %{title}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format, fuzzy
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:45
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:7
|
||||||
|
msgid "If you didn't request this email, you can simply ignore it."
|
||||||
|
msgstr ""
|
||||||
|
"Du kan strunta i det här meddelandet om det inte var du frågade efter det."
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.html.eex:13
|
||||||
|
#: lib/web/templates/email/anonymous_participation_confirmation.text.eex:1
|
||||||
|
msgid "Participation confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:108
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "An internal ID for your current selected identity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:107
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "An internal user ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:45
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Any of the information we collect from you may be used in the following ways:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:4
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Basic account information"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:28
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Do not share any dangerous information over Mobilizon."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:126
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Do we disclose any information to outside parties?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:101
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Do we use cookies?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:59
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "How do we protect your information?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:32
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "IPs and other metadata"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:111
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "If you delete these informations, you need to login again."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:113
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "If you're not connected, we don't store any information on your device, unless you participate in an event\n anonymously. In that case we store the hash of the UUID and participation status in your browser so that we may\n display participation status. Deleting these informations will only stop displaying participation status in your\n browser."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:123
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Note: These informations are stored in your localStorage and not your cookies."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:18
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Published events and comments"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:83
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Retain the IP addresses associated with registered users no more than 12 months."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:109
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Tokens to authenticate you"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:35
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "We also may retain server logs which include the IP address of every request to our server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:5
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "We collect information from you when you register on this server and gather data when you participate in the\n platform by reading, writing, and interacting with content shared here. If you register on this server, you will\n be asked to enter an e-mail address, a password and at least an username. Your e-mail address will be verified by\n an email containing a unique link. If that link is visited, we know that you control the e-mail address. You may\n also enter additional profile information such as a display name and biography, and upload a profile picture and\n header image. The username, display name, biography, profile picture and header image are always listed publicly.\n You may, however, visit this server without registering."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:130
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This\n does not include trusted third parties who assist us in operating our site, conducting our business, or servicing\n you, so long as those parties agree to keep this information confidential. We may also release your information\n when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or\n others rights, property, or safety."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:62
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "We implement a variety of security measures to maintain the safety of your personal information when you enter,\n submit, or access your personal information. Among other things, your browser session, as well as the traffic between\n your applications and the API, are secured with SSL/TLS, and your password is hashed using a strong one-way\n algorithm."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:103
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "We store the following information on your device when you connect:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:72
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "We will make a good faith effort to:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:43
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "What do we use your information for?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:71
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "What is our data retention policy?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:92
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "You can request and download an archive of your content, including your posts, media attachments, profile picture,\n and header image."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:100
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "You may irreversibly delete your account at any time."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:142
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Your content may be downloaded by other servers in the network. Your content is delivered to the servers\n following your instance, and direct messages are delivered to the servers of the recipients, in so far as these\n recipients reside on a different server than this one."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:20
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Your events and comments are delivered to other instances that follow your own, meaning they are delivered to\n different servers and copies are stored there. When you delete events or comments, this is likewise delivered to\n these other instances. The action of joining an event is federated as well. Please keep in mind that the operators\n of the server and any receiving server may view such messages, and that recipients may screenshot, copy or\n otherwise re-share them."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:159
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Changes to our Privacy Policy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:154
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (<a href=\"https://en.wikipedia.org/wiki/General_Data_Protection_Regulation\">General Data Protection Regulation</a>) do not use this site."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:155
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (<a href=\"https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act\">Children's Online Privacy Protection Act</a>) do not use this site."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:161
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "If we decide to change our privacy policy, we will post those changes on this page."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:156
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Law requirements can be different if this server is in another jurisdiction."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:163
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Originally adapted from the <a href=\"https://mastodon.social/terms\">Mastodon</a> and <a href=\"https://github.com/discourse/discourse\">Discourse</a> privacy policies."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:75
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more\n than 90 days."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:152
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "Site usage by children"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:55
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "The email address you provide may be used to send you information, updates and notifications about other people\n interacting with your content or sending you messages and to respond to inquiries, and/or other requests or\n questions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:162
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "This document is CC-BY-SA. It was last updated January 16, 2020."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:53
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "To aid moderation of the community, for example comparing your IP address with other known ones to determine ban\n evasion or other violations."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:51
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "To provide the core functionality of Mobilizon. Depending on this instance's policy you may only be able to\n interact with other people's content and post your own content if you are logged in."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, elixir-format
|
||||||
|
#: lib/web/templates/api/terms.html.eex:1
|
||||||
|
msgctxt "terms"
|
||||||
|
msgid "What information do we collect?"
|
||||||
|
msgstr ""
|
||||||
|
87
priv/gettext/sv/LC_MESSAGES/errors.po
Normal file
87
priv/gettext/sv/LC_MESSAGES/errors.po
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
## "msgid"s in this file come from POT (.pot) files.
|
||||||
|
##
|
||||||
|
## Do not add, change, or remove "msgid"s manually here as
|
||||||
|
## they're tied to the ones in the corresponding POT file
|
||||||
|
## (with the same domain).
|
||||||
|
##
|
||||||
|
## Use "mix gettext.extract --merge" or "mix gettext.merge"
|
||||||
|
## to merge POT files into PO files.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Language: sv\n"
|
||||||
|
"Plural-Forms: nplurals=2\n"
|
||||||
|
|
||||||
|
msgid "can't be blank"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has already been taken"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be accepted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has invalid format"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "has an invalid entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is reserved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "does not match confirmation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "is still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "are still associated with this entry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "should be %{count} character(s)"
|
||||||
|
msgid_plural "should be %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have %{count} item(s)"
|
||||||
|
msgid_plural "should have %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at least %{count} character(s)"
|
||||||
|
msgid_plural "should be at least %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at least %{count} item(s)"
|
||||||
|
msgid_plural "should have at least %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should be at most %{count} character(s)"
|
||||||
|
msgid_plural "should be at most %{count} character(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "should have at most %{count} item(s)"
|
||||||
|
msgid_plural "should have at most %{count} item(s)"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
msgid "must be less than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be less than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be greater than or equal to %{number}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "must be equal to %{number}"
|
||||||
|
msgstr ""
|
31
priv/templates/config.template.eex
Normal file
31
priv/templates/config.template.eex
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Mobilizon instance configuration
|
||||||
|
|
||||||
|
import Config
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Web.Endpoint,
|
||||||
|
url: [host: "<%= instance_domain %>", scheme: "https", port: <%= instance_port %>],
|
||||||
|
http: [ip: {<%= String.replace(listen_ip, ".", ", ") %>}, port: <%= listen_port %>],
|
||||||
|
secret_key_base: "<%= instance_secret %>"
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Web.Auth.Guardian,
|
||||||
|
secret_key: "<%= auth_secret %>"
|
||||||
|
|
||||||
|
config :mobilizon, :instance,
|
||||||
|
name: "<%= instance_name %>",
|
||||||
|
description: "Change this to a proper description of your instance",
|
||||||
|
hostname: "<%= instance_domain %>",
|
||||||
|
registrations_open: false,
|
||||||
|
demo: false,
|
||||||
|
allow_relay: true,
|
||||||
|
federating: true,
|
||||||
|
email_from: "tcit@tcit.fr",
|
||||||
|
email_reply_to: "tcit@tcit.fr"
|
||||||
|
|
||||||
|
config :mobilizon, Mobilizon.Storage.Repo,
|
||||||
|
adapter: Ecto.Adapters.Postgres,
|
||||||
|
username: "<%= database_username %>",
|
||||||
|
password: "<%= database_password %>",
|
||||||
|
database: "<%= database_name %>",
|
||||||
|
hostname: "<%= database_host %>",
|
||||||
|
port: "<%= database_port %>",
|
||||||
|
pool_size: 10
|
@ -9,7 +9,7 @@ ExecStart=/usr/local/bin/mix phx.server
|
|||||||
ExecReload=/bin/kill $MAINPID
|
ExecReload=/bin/kill $MAINPID
|
||||||
KillMode=process
|
KillMode=process
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
EnvironmentFile=/var/www/mobilizon/.env
|
Environment=MIX_ENV=prod
|
||||||
|
|
||||||
; Some security directives.
|
; Some security directives.
|
||||||
; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops.
|
; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops.
|
||||||
|
Loading…
Reference in New Issue
Block a user