diff --git a/app/assets/javascripts/components/containers/mastodon.jsx b/app/assets/javascripts/components/containers/mastodon.jsx
index cbb7b85bcb..00f20074d9 100644
--- a/app/assets/javascripts/components/containers/mastodon.jsx
+++ b/app/assets/javascripts/components/containers/mastodon.jsx
@@ -47,6 +47,7 @@ import pt from 'react-intl/locale-data/pt';
import hu from 'react-intl/locale-data/hu';
import uk from 'react-intl/locale-data/uk';
import fi from 'react-intl/locale-data/fi';
+import eo from 'react-intl/locale-data/eo';
import getMessagesForLocale from '../locales';
import { hydrateStore } from '../actions/store';
import createStream from '../stream';
@@ -59,7 +60,7 @@ const browserHistory = useRouterHistory(createBrowserHistory)({
basename: '/web'
});
-addLocaleData([...en, ...de, ...es, ...fr, ...pt, ...hu, ...uk, ...fi]);
+addLocaleData([...en, ...de, ...es, ...fr, ...pt, ...hu, ...uk, ...fi, ...eo]);
const Mastodon = React.createClass({
diff --git a/app/assets/javascripts/components/locales/eo.jsx b/app/assets/javascripts/components/locales/eo.jsx
new file mode 100644
index 0000000000..8c118b31fa
--- /dev/null
+++ b/app/assets/javascripts/components/locales/eo.jsx
@@ -0,0 +1,68 @@
+const eo = {
+ "column_back_button.label": "Reveni",
+ "lightbox.close": "Fermi",
+ "loading_indicator.label": "Ŝarĝanta...",
+ "status.mention": "Mencii @{name}",
+ "status.delete": "Forigi",
+ "status.reply": "Respondi",
+ "status.reblog": "Diskonigi",
+ "status.favourite": "Favori",
+ "status.reblogged_by": "{name} diskonigita",
+ "status.sensitive_warning": "Tikla enhavo",
+ "status.sensitive_toggle": "Alklaki por vidi",
+ "video_player.toggle_sound": "Aktivigi sonojn",
+ "account.mention": "Mencii @{name}",
+ "account.edit_profile": "Redakti la profilon",
+ "account.unblock": "Malbloki @{name}",
+ "account.unfollow": "Malsekvi",
+ "account.block": "Bloki @{name}",
+ "account.follow": "Sekvi",
+ "account.posts": "Mesaĝoj",
+ "account.follows": "Sekvatoj",
+ "account.followers": "Sekvantoj",
+ "account.follows_you": "Sekvas vin",
+ "account.requested": "Atendas aprobon",
+ "getting_started.heading": "Por komenci",
+ "getting_started.about_addressing": "Vi povas sekvi homojn se vi konas la uzantnomon kaj domajnon tajpinte retpoŝtecan adreson en la serĉilon.",
+ "getting_started.about_shortcuts": "Se la celita uzanto troviĝas en la sama domajno de vi, uzi nur la uzantnomon sufiĉos. La sama regulo validas por mencii aliajn uzantojn en mesaĝo.",
+ "getting_started.open_source_notice": "Mastodon estas malfermitkoda programo. Vi povas kontribui aŭ raporti problemojn en github je {github}. {apps}.",
+ "column.home": "Hejmo",
+ "column.community": "Loka tempolinio",
+ "column.public": "Fratara tempolinio",
+ "column.notifications": "Sciigoj",
+ "tabs_bar.compose": "Ekskribi",
+ "tabs_bar.home": "Hejmo",
+ "tabs_bar.mentions": "Sciigoj",
+ "tabs_bar.public": "Fratara tempolinio",
+ "tabs_bar.notifications": "Sciigoj",
+ "compose_form.placeholder": "Pri kio vi pensas?",
+ "compose_form.publish": "Hup",
+ "compose_form.sensitive": "Marki ke la enhavo estas tikla",
+ "compose_form.spoiler": "Kaŝi la tekston malantaŭ averto",
+ "compose_form.private": "Marki ke la enhavo estas privata",
+ "compose_form.privacy_disclaimer": "Via privata mesaĝo estos sendita nur al menciitaj uzantoj en {domains}. Ĉu vi fidas {domainsCount, plural, one {tiun servilon} other {tiujn servilojn}}? Mesaĝa privateco funkcias nur en aperaĵoj de Mastodon. Se {domains} {domainsCount, plural, one {ne estas aperaĵo de Mastodon} other {ne estas aperaĵoj de Mastodon}}, estos neniu indiko ke via mesaĝo estas privata, kaj ĝi povus esti diskonigita aŭ videbligita al necelitaj ricevantoj.",
+ "compose_form.unlisted": "Ne afiŝi en publikaj tempolinioj",
+ "navigation_bar.edit_profile": "Redakti la profilon",
+ "navigation_bar.preferences": "Preferoj",
+ "navigation_bar.community_timeline": "Loka tempolinio",
+ "navigation_bar.public_timeline": "Fratara tempolinio",
+ "navigation_bar.logout": "Elsaluti",
+ "reply_indicator.cancel": "Rezigni",
+ "search.placeholder": "Serĉi",
+ "search.account": "Konto",
+ "search.hashtag": "Kradvorto",
+ "upload_button.label": "Aldoni enhavaĵon",
+ "upload_form.undo": "Malfari",
+ "notification.follow": "{name} sekvis vin",
+ "notification.favourite": "{name} favoris vian mesaĝon",
+ "notification.reblog": "{name} diskonigis vian mesaĝon",
+ "notification.mention": "{name} menciis vin",
+ "notifications.column_settings.alert": "Retumilaj atentigoj",
+ "notifications.column_settings.show": "Montri en kolono",
+ "notifications.column_settings.follow": "Novaj sekvantoj:",
+ "notifications.column_settings.favourite": "Favoroj:",
+ "notifications.column_settings.mention": "Mencioj:",
+ "notifications.column_settings.reblog": "Diskonigoj:",
+};
+
+export default eo;
diff --git a/app/assets/javascripts/components/locales/index.jsx b/app/assets/javascripts/components/locales/index.jsx
index 72b8a5df5d..1e7b8b548e 100644
--- a/app/assets/javascripts/components/locales/index.jsx
+++ b/app/assets/javascripts/components/locales/index.jsx
@@ -6,6 +6,7 @@ import fr from './fr';
import pt from './pt';
import uk from './uk';
import fi from './fi';
+import eo from './eo';
const locales = {
en,
@@ -15,7 +16,8 @@ const locales = {
fr,
pt,
uk,
- fi
+ fi,
+ eo
};
export default function getMessagesForLocale (locale) {
diff --git a/app/assets/stylesheets/components.scss b/app/assets/stylesheets/components.scss
index d233b3471a..696e89418a 100644
--- a/app/assets/stylesheets/components.scss
+++ b/app/assets/stylesheets/components.scss
@@ -1,5 +1,9 @@
@import 'variables';
+.app-body{
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+}
+
.button {
background-color: darken($color4, 3%);
font-family: inherit;
diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb
index e01f7d0cc4..74dc0e11d7 100644
--- a/app/helpers/settings_helper.rb
+++ b/app/helpers/settings_helper.rb
@@ -11,6 +11,7 @@ module SettingsHelper
uk: 'Українська',
'zh-CN': '简体中文',
fi: 'Suomi',
+ eo: 'Esperanto',
}.freeze
def human_locale(locale)
diff --git a/config/application.rb b/config/application.rb
index 17b7a19cc9..9a5c0d0d3f 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -24,7 +24,7 @@ module Mastodon
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
- config.i18n.available_locales = [:en, :de, :es, :pt, :fr, :hu, :uk, 'zh-CN', :fi]
+ config.i18n.available_locales = [:en, :de, :es, :pt, :fr, :hu, :uk, 'zh-CN', :fi, :eo]
config.i18n.default_locale = :en
# config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')
diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml
new file mode 100644
index 0000000000..b786647dd7
--- /dev/null
+++ b/config/locales/devise.eo.yml
@@ -0,0 +1,61 @@
+---
+eo:
+ devise:
+ confirmations:
+ confirmed: Via konto estas konfirmita.
+ send_instructions: Vi ricevos instrukciojn por konfirmi vian konton post kelkaj minutoj.
+ send_paranoid_instructions: Se via retpoŝt-adreso ekzistas en nia datumbazo, vi baldaŭ ricevos retpoŝt-mesaĝon, kiu enhavas la instrukciojn por konfirmi vian konton.
+ failure:
+ already_authenticated: Vi jam estas ensalutita.
+ inactive: Via konto ankoraŭ ne estas konfirmita.
+ invalid: Malĝusta retpoŝt-adreso aŭ pasvorto.
+ last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.
+ locked: Via konto estas ŝlosita.
+ not_found_in_database: Malĝusta retpoŝt-adreso aŭ pasvorto.
+ timeout: Via sesio eksiĝis. Bonvolu reensaluti por daŭrigi.
+ unauthenticated: Vi devas ensaluti aŭ membriĝi por daŭrigi.
+ unconfirmed: Vi devas konfirmi vian konton por daŭrigi.
+ mailer:
+ confirmation_instructions:
+ subject: Instrukcioj por konfirmi
+ password_change:
+ subject: Via pasvorto estis ŝanĝita senprobleme.
+ reset_password_instructions:
+ subject: Instrukcioj por ŝanĝi la pasvorton
+ unlock_instructions:
+ subject: Instrukcioj por malŝlosi la konton
+ omniauth_callbacks:
+ failure: 'Ni ne povis aŭtentigi vin per %{kind}: ''%{reason}''.'
+ success: Aŭtentigita senprobleme per %{kind}.
+ passwords:
+ no_token: Vi ne povas iri al tiu paĝo per alia vojo ol retpoŝt-mesaĝo por ŝanĝi pasvorton. Se vi venas de tia retpoŝt-mesaĝo, kontrolu ke vi uzis la tutan URL.
+ send_instructions: Vi ricevos retpoŝt-mesaĝon kun instrukcioj por ŝanĝi vian pasvorton post kelkaj minutoj.
+ send_paranoid_instructions: Se via retpoŝt-adreso ekzistas en nia datumbazo, vi ricevos ligilon por ŝanĝi vian pasvorton per retpoŝt-mesaĝo.
+ updated: Via pasvorto estis redaktita senprobleme, vi nun estas ensalutita.
+ updated_not_active: Via pasvorto estis redaktita senprobleme.
+ registrations:
+ destroyed: Ĝis! Via konto estis forigita senprobleme. Ni esperas revidi vin baldaŭ.
+ signed_up: Bonvenon! Vi membriĝis senprobleme.
+ signed_up_but_inactive: Vi bone membriĝis, sed vi ankoraŭ ne povas ensaluti ĉar via konto ne estis konfirmita.
+ signed_up_but_locked: Vi bone membriĝis, sed vi ne povas ensaluti ĉar via konto estas ŝlosita.
+ signed_up_but_unconfirmed: Retpoŝt-mesaĝo kun via ligilo por konfirmi vian konton estis sendita al via retpoŝt-adreso. Bonvolu uzi tiun ligilon por konfirmi vian konton.
+ update_needs_confirmation: Vi bone aktualigis vian konton, sed ni bezonas kontroli vian novan retpoŝt-adreson. Bonvolu kontroli viajn retpoŝt-mesaĝojn kaj uzi la ligilon por konfirmi vian novan retpoŝt-adreson.
+ updated: Via konto estis aktualigita senprobleme.
+ sessions:
+ already_signed_out: Elsalutita.
+ signed_in: Ensalutita.
+ signed_out: Elsalutita.
+ unlocks:
+ send_instructions: Vi ricevos retpoŝt-mesaĝon kun instrukcioj por malŝlosi vian konton post kelkaj minutoj.
+ send_paranoid_instructions: Se via retpoŝt-adreso ekzistas en nia datumbazo, vi ricevos ligilon por malŝlosi vian konton per retpoŝt-mesaĝo.
+ unlocked: Via konto estis malŝlosita senprobleme, vi nun estas ensalutita.
+ errors:
+ messages:
+ already_confirmed: jam estis konfirmita, bonvolu provi ensaluti
+ confirmation_period_expired: devas esti konfirmita en %{period}, bonvolu repeti
+ expired: eksiĝis, bonvolu repeti
+ not_found: ne estis trovita
+ not_locked: ne estis ŝlosita
+ not_saved:
+ one: '1 eraro malpermesis al tiu %{resource} esti konservita:'
+ other: '%{count} eraroj malpermesis al tiu %{resource} esti konservita:'
diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml
new file mode 100644
index 0000000000..33cc7cc199
--- /dev/null
+++ b/config/locales/doorkeeper.eo.yml
@@ -0,0 +1,113 @@
+---
+eo:
+ activerecord:
+ attributes:
+ doorkeeper/application:
+ name: Nomo
+ redirect_uri: URI de plusendo
+ errors:
+ models:
+ doorkeeper/application:
+ attributes:
+ redirect_uri:
+ fragment_present: ne povas enhavi eron.
+ invalid_uri: devas esti valida URI.
+ relative_uri: devas esti absoluta URI.
+ secured_uri: devas esti HTTPS/SSL-a URI.
+ doorkeeper:
+ applications:
+ buttons:
+ authorize: Rajtigi
+ cancel: Rezigni
+ destroy: Detrui
+ edit: Redakti
+ submit: Sendi
+ confirmations:
+ destroy: Ĉu vi certas?
+ edit:
+ title: Redakti aplikaĵon
+ form:
+ error: Ups! Kontrolu vian formularon ĉu estas eraroj
+ help:
+ native_redirect_uri: Uzu %{native_redirect_uri} por lokaj provoj
+ redirect_uri: Uzu unu linion por ĉiu URI
+ scopes: Apartigu ampleksojn per spacetoj. Lasu malplena por uzi la senŝanĝajn ampleksojn.
+ index:
+ callback_url: URL vokita per referenco
+ name: Nomo
+ new: Nova Aplikaĵo
+ title: Viaj aplikaĵoj
+ new:
+ title: Nova aplikaĵo
+ show:
+ actions: Agoj
+ application_id: Identigo de la aplikaĵo
+ callback_urls: URL-j vokitaj per referenco
+ scopes: Ampleksoj
+ secret: Sekreto
+ title: 'Aplikaĵo: %{name}'
+ authorizations:
+ buttons:
+ authorize: Rajtigi
+ deny: Rifuzi
+ error:
+ title: Eraro okazis
+ new:
+ able_to: Povos
+ prompt: La aplikaĵo %{client_name} petas aliron al via konto
+ title: Rajtigo bezonata
+ show:
+ title: Rajtiga kodo
+ authorized_applications:
+ buttons:
+ revoke: Malrajtigi
+ confirmations:
+ revoke: Ĉu vi certas?
+ index:
+ application: Aplikaĵo
+ created_at: Rajtigita
+ date_format: "%Y-%m-%d %H:%M:%S"
+ scopes: Ampleksoj
+ title: Viaj rajtigitaj aplikaĵoj
+ errors:
+ messages:
+ access_denied: La posedanto de la rimedo aŭ la rajtiga servilo rifuzis vian peton.
+ credential_flow_not_configured: La sendado de la identigiloj de la posedanto de la rimedo malsukcesis ĉar Doorkeeper.configure.resource_owner_from_credentials ne estis agordita.
+ invalid_client: La aŭtentigo de la kliento malsukcesis ĉar la kliento estas nekonata, aŭ mankis peto aŭtentigi, aŭ la aŭtentig-metodo ne estas subtenata.
+ invalid_grant: La rajtiga konsento ne estas valida, ne plu estas valida, estis forigita, ne kongruas kun la plusenda URI uzita en la aŭtentiga peto, aŭ estis sendita al alia kliento.
+ invalid_redirect_uri: La plusenda URI uzita en estas valida.
+ invalid_request: Mankis al la peto nepra parametro, enhavas nesubtenatan parametran valoron, aŭ la peto simple estas misformita.
+ invalid_resource_owner: La donitaj identigiloj pri la posedanto de la rimedo ne estas validaj, aŭ tiu ne povas esti trovita.
+ invalid_scope: La petita amplekso ne estas valida, estas nekonata, aŭ estas misformita.
+ invalid_token:
+ expired: La atingoĵetono eskiĝis.
+ revoked: La atingoĵetono estis rifuzita.
+ unknown: La atingoĵetono ne estas valida.
+ resource_owner_authenticator_not_configured: La posedanto de la rimedo ne povis esti trovita ĉar Doorkeeper.configure.resource_owner_authenticator ne estas agordita.
+ server_error: La rajtiga servilo rimarkis neatenditan kondiĉon, kiu malpermesis al ĝi plenumi la peton.
+ temporarily_unavailable: La rajtiga servilo ne povas nun plenumi la peton pro dumtempa superŝarĝo aŭ prizorgado de la servilo.
+ unauthorized_client: La kliento ne rajtas fari tian peton uzante tiun metodon.
+ unsupported_grant_type: La tipo de la rajtiga konsento ne estas subtenata de la rajtiga servilo.
+ unsupported_response_type: La rajtiga servilo ne subtenas tian respondon.
+ flash:
+ applications:
+ create:
+ notice: Aplikaĵo kreita.
+ destroy:
+ notice: Aplikaĵo forigita.
+ update:
+ notice: Aplikaĵo aktualigita.
+ authorized_applications:
+ destroy:
+ notice: Aplikaĵo malrajtigita.
+ layouts:
+ admin:
+ nav:
+ applications: Aplikaĵoj
+ oauth2_provider: OAuth2-provizanto
+ application:
+ title: OAuth-a rajtigo bezonata
+ scopes:
+ follow: sekvi, bloki, malbloki kaj malsekvi kontojn
+ read: legi la datumojn de via konto
+ write: mesaĝi kiel vi
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
new file mode 100644
index 0000000000..3644b37bb7
--- /dev/null
+++ b/config/locales/eo.yml
@@ -0,0 +1,164 @@
+---
+eo:
+ about:
+ about_mastodon: Mastodon estas senpaga, malfermitkoda socia reto. Ĝi estas sencentra alia eblo al komercaj servoj. Ĝi evitigas, ke unusola firmao regu vian tutan komunikadon. Elektu servilon, kiun vi fidas. Kiu ajn estas via elekto, vi povas interagi kun ĉiuj aliaj uzantoj. Iu ajn povas krei sian propran aperaĵon de Mastodon en sia servilo, kaj partopreni en la socia reto tute glate.
+ about_this: Pri tiu aperaĵo
+ apps: Aplikaĵoj
+ business_email: 'Profesia retpoŝt-adreso:'
+ contact: Kontakti
+ description_headline: Kio estas %{domain}?
+ domain_count_after: aliaj aperaĵoj
+ domain_count_before: Konektita al
+ features:
+ api: Malfermita API por aplikaĵoj kaj servoj
+ blocks: Kompletaj iloj por bloki kaj kaŝi
+ characters: Po 500 signoj por ĉiu mesaĝo
+ chronology: Tempolinioj laŭtempaj
+ ethics: 'Etike kreita: neniu reklamo, neniu ŝpurado'
+ gifv: Eblo diskonigi etajn videojn kaj GIFV
+ privacy: Videbleco agordita laŭ la mesaĝo
+ public: Publikaj tempolinioj
+ features_headline: Kiel Mastodon estas malsimila
+ get_started: Komenci
+ links: Ligiloj
+ other_instances: Aliaj aperaĵoj
+ source_code: Fontkodo
+ status_count_after: mesaĝoj
+ status_count_before: Kiu publikigis
+ terms: Terms
+ user_count_after: uzantoj
+ user_count_before: Hejmo de
+ accounts:
+ follow: Sekvi
+ followers: Sekvantoj
+ following: Sekvatoj
+ nothing_here: Estas nenio ĉi tie!
+ people_followed_by: Sekvatoj de %{name}
+ people_who_follow: Sekvantoj de %{name}
+ posts: Mesaĝoj
+ remote_follow: Fore sekvi
+ unfollow: Malsekvi
+ application_mailer:
+ settings: 'Ŝanĝi la retpoŝt-mesaĝajn preferojn: %{link}'
+ signature: Sciigoj de Mastodon el %{instance}
+ view: 'Vidi:'
+ applications:
+ invalid_url: La URL donita ne estas valida
+ auth:
+ change_password: Ŝanĝi pasvorton
+ didnt_get_confirmation: Ĉu vi ne ricevis la instrukciojn por konfirmi?
+ forgot_password: Pasvorto forgesita?
+ login: Ensaluti
+ logout: Elsaluti
+ register: Membriĝi
+ resend_confirmation: Resendi la instrukciojn por konfirmi
+ reset_password: Ŝanĝi la pasvorton
+ set_new_password: Elekti novan pasvorton
+ authorize_follow:
+ error: Bedaŭrinde, okazis eraro provante konsulti la foran konton
+ follow: Sekvi
+ prompt_html: 'Vi (%{self}) petis sekvi:'
+ title: Sekvi %{acct}
+ datetime:
+ distance_in_words:
+ about_x_hours: "%{count}h"
+ about_x_months: "%{count}mo"
+ about_x_years: "%{count}j"
+ almost_x_years: "%{count}j"
+ half_a_minute: Ĵus
+ less_than_x_minutes: "%{count}m"
+ less_than_x_seconds: Ĵus
+ over_x_years: "%{count}j"
+ x_days: "%{count}t"
+ x_minutes: "%{count}m"
+ x_months: "%{count}mo"
+ x_seconds: "%{count}s"
+ exports:
+ blocks: Vi blokas
+ csv: CSV
+ follows: Vi sekvas
+ storage: Mediaĵa konservado
+ generic:
+ changes_saved_msg: Ŝanĝoj senprobleme konservitaj!
+ powered_by: povigita de %{link}
+ save_changes: Konservi la ŝanĝojn
+ validation_errors:
+ one: Io ne okazis senprobleme! Bonvolu konsulti la suban erar-raporton.
+ other: Io ne okazis senprobleme! Bonvolu konsulti la subajn %{count} erar-raportojn.
+ imports:
+ preface: Vi povas alporti kelkajn datumojn, kiel listojn de ĉiuj homoj kiujn vi sekvas aŭ blokas, al via konto de ĉi tiu aperaĵo, per dosiero elportita de alia aperaĵo.
+ success: Viaj datumoj estis senprobleme alportitaj kaj estos traktitaj kiel planite.
+ types:
+ blocking: Listo de blokitoj
+ following: Listo de sekvatoj
+ upload: Alporti
+ landing_strip_html: %{name} estas uzanto en %{domain}. Vi povas sekvi tiun aŭ interagi kun tiu, se vi havas konton ie ajn en la Fediverse. Se vi ne havas, vi povas membriĝi ĉi tie..
+ notification_mailer:
+ digest:
+ body: 'Jen eta resumo de tio, kio okazis en %{instance}, ekde kiam vi laste vizitis en %{since}:'
+ mention: "%{name} menciis vin en:"
+ new_followers_summary:
+ one: Vi ekhavis novan sekvanton! Jej!
+ other: Vi ekhavis %{count} novajn sekvantojn! Mirinde!
+ subject:
+ one: "1 nova sciigo ekde via lasta vizito \U0001F418"
+ other: "%{count} novaj sciigoj ekde via lasta vizito \U0001F418"
+ favourite:
+ body: '%{name} favoris vian mesaĝon:'
+ subject: "%{name} favoris vian mesaĝon"
+ follow:
+ body: "%{name} eksekvis vin:"
+ subject: "%{name} eksekvis vin"
+ follow_request:
+ body: "%{name} petis sekvi vin:"
+ subject: '%{name} petis sekvi vin'
+ mention:
+ body: '%{name} menciis vin en:'
+ subject: '%{name} menciis vin'
+ reblog:
+ body: '%{name} diskonigis vian mesaĝon:'
+ subject: "%{name} diskonigis vian mesaĝon"
+ pagination:
+ next: Sekva
+ prev: Malsekva
+ remote_follow:
+ acct: Enmetu vian uzantnomo@aperaĵo de kie vi volas sekvi tiun uzanton
+ missing_resource: La URL de plusendado ne povis esti trovita
+ proceed: Daŭrigi por plusendi
+ prompt: 'Vi eksekvos:'
+ settings:
+ authorized_apps: Rajtigitaj aplikaĵoj
+ back: Reveni al Mastodon
+ edit_profile: Redakti la profilon
+ export: Elporti datumojn
+ import: Alporti
+ preferences: Preferoj
+ settings: Agordoj
+ two_factor_auth: Dufaktora aŭtentigo
+ statuses:
+ open_in_web: Malfermi retumile
+ over_character_limit: limo de %{max} signoj trapasita
+ show_more: Montri pli
+ visibilities:
+ private: Montri nur al sekvantoj
+ public: Publika
+ unlisted: Publika, sed ne aperos en publikaj tempolinioj
+ stream_entries:
+ click_to_show: Alklaki por montri
+ reblogged: diskonigita
+ sensitive_content: Tikla enhavo
+ time:
+ formats:
+ default: "%b %d, %Y, %H:%M"
+ two_factor_auth:
+ description_html: Se vi ebligas dufaktoran aŭtentigon, vi bezonos vian poŝtelefonon por ensaluti, ĉar ĝi kreos nombrojn, kiujn vi devos entajpi.
+ disable: Malebligi
+ enable: Ebligi
+ instructions_html: "Skanu tiun QR-kodon per Google Authenticator aŭ per simila aplikaĵo de via poŝtelefono. De tiam, la aplikaĵo kreos nombrojn, kiujn vi devos entajpi."
+ plaintext_secret_html: 'Rekte legebla sekreta kodo: %{secret}'
+ warning: Se vi ne povas agordi aŭtentigan aplikaĵon nun, elektu "malebligi" aŭ vi ne plu povos ensaluti.
+ users:
+ invalid_email: La retpoŝt-adreso ne estas valida
+ invalid_otp_token: La dufaktora aŭtentigila kodo ne estas valida
+ will_paginate:
+ page_gap: "…"
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
new file mode 100644
index 0000000000..8c89a56e7e
--- /dev/null
+++ b/config/locales/simple_form.eo.yml
@@ -0,0 +1,46 @@
+---
+eo:
+ simple_form:
+ hints:
+ defaults:
+ avatar: En la formato PNG, GIF aŭ JPG. Ĝis 2Mo. Estos malgrandigita al 120x120px
+ display_name: 30 signoj pleje
+ header: En la formato PNG, GIF aŭ JPG. Ĝis 2Mo. Estos malgrandigita al 700x335px
+ locked: Vi devos aprobi ĉiun peton de sekvado, kaj viaj mesaĝoj estos senŝanĝe nur por viaj sekvantoj.
+ note: 160 signoj pleje
+ imports:
+ data: Dosiero CSV el alia aperaĵo de Mastodon
+ labels:
+ defaults:
+ avatar: Profilbildo
+ confirm_new_password: Konfirmi novan pasvorton
+ confirm_password: Konfirmi la pasvorton
+ current_password: Nuna pasvorto
+ data: Datumoj
+ display_name: Publika nomo
+ email: Retpoŝt-adreso
+ header: Kapbildo
+ locale: Lingvo
+ locked: Privatigi la konton
+ new_password: Nova pasvorto
+ note: Sinprezento
+ otp_attempt: Dufaktora identigilo
+ password: Pasvorto
+ setting_default_privacy: Videbleco de la mesaĝoj
+ type: Tipo de alportado
+ username: Uzantnomo
+ interactions:
+ must_be_follower: Kaŝi la sciigojn de homoj, kiuj ne sekvas vin
+ must_be_following: Kaŝi la sciigojn de homoj, kiujn vi ne sekas
+ notification_emails:
+ digest: Sendi resumajn retpoŝt-mesaĝojn
+ favourite: Sendi retpoŝt-mesaĝon, kiam iu favoras mesaĝon de vi
+ follow: Sendi retpoŝt-mesaĝon, kiam iu eksekvas vin
+ follow_request: Sendi retpoŝt-mesaĝon, kiam iu petas sekvi vin
+ mention: Sendi retpoŝt-mesaĝon, kiam iu mencias vin
+ reblog: Sendi retpoŝt-mesaĝon, kiam iu diskonigas mesaĝon de vi
+ 'no': 'Ne'
+ required:
+ mark: "*"
+ text: bezonata
+ 'yes': 'Jes'
diff --git a/docs/Using-Mastodon/List-of-Mastodon-instances.md b/docs/Using-Mastodon/List-of-Mastodon-instances.md
index 1f5be3a612..d6211f7256 100644
--- a/docs/Using-Mastodon/List-of-Mastodon-instances.md
+++ b/docs/Using-Mastodon/List-of-Mastodon-instances.md
@@ -7,6 +7,7 @@ There is also a list at [instances.mastodon.xyz](https://instances.mastodon.xyz)
| -------------|-------------|---|---|
| [mastodon.social](https://mastodon.social) |Flagship, quick updates|No|No|
| [securitymastod.one](https://securitymastod.one/) |Information security enthusiasts and pros|Yes|Yes|
+| [mastodon.nuzgo.net](https://mastodon.nuzgo.net/) |Mastodon instance hosted in Paris |Yes|No|
| [mastodon.cx](https://mastodon.cx/) |Alternative Mastodon instance hosted in France|Yes|Yes|
| [mastodon.network](https://mastodon.network) |N/A|Yes|Yes|
| [awoo.space](https://awoo.space) |Intentionally moderated, only federates with mastodon.social|Yes|No|
@@ -17,9 +18,11 @@ There is also a list at [instances.mastodon.xyz](https://instances.mastodon.xyz)
| [gay.crime.team](https://gay.crime.team) |the place for doin' gay crime online (please don't actually do crime here)|No|No|
| [icosahedron.website](https://icosahedron.website/) |Icosahedron-themed (well, visually), open registration.|Yes|No|
| [memetastic.space](https://memetastic.space) |Memes|Yes|No|
+| [masto.razrnet.fr](https://masto.razrnet.fr) |Instance Française pour tout le monde ! Développeurs, gamers, etc...|Yes|No|
| [social.diskseven.com](https://social.diskseven.com) |Single user|No|Yes|
| [social.gestaltzerfall.net](https://social.gestaltzerfall.net) |Single user|No|No|
| [mastodon.xyz](https://mastodon.xyz) |N/A|Yes|Yes|
+| [mastodon.land](https://mastodon.land) |N/A|Yes|Yes|
| [mastodon.partipirate.org](https://mastodon.partipirate.org) |French Pirate Party Instance - Politics and stuff|Yes|No|
| [social.targaryen.house](https://social.targaryen.house) |Federates everywhere, quick updates.|Yes|Yes|
| [masto.themimitoof.fr](https://masto.themimitoof.fr) |N/A|Yes|Yes|
@@ -33,8 +36,8 @@ There is also a list at [instances.mastodon.xyz](https://instances.mastodon.xyz)
| [social.alex73630.xyz](https://social.alex73630.xyz) |Francophones|Yes|Yes|
| [oc.todon.fr](https://oc.todon.fr) |Modérée et principalement francophone, pas de tolérances pour misogynie/LGBTphobies/validisme/etc.|Yes|Yes|
| [maly.io](https://maly.io) |N/A|Yes|No|
-| [social.lou.lt](https://social.lou.lt) |N/A|Yes|No|
-| [mastodon.ninetailed.uk](https://mastodon.ninetailed.uk) |N/A|Yes|No|
+| [social.lou.lt](https://social.lou.lt) |Francophones|Yes|No|
+| [mastodon.ninetailed.uk](https://mastodon.ninetailed.uk) |Open registrations, furry-friendly, UK-based|Yes|No|
| [soc.louiz.org](https://soc.louiz.org) |"Coucou"|Yes|No|
| [7nw.eu](https://7nw.eu) |N/A|Yes|No|
| [mastodon.gougere.fr](https://mastodon.gougere.fr)|N/A|Yes|No|
@@ -47,6 +50,32 @@ There is also a list at [instances.mastodon.xyz](https://instances.mastodon.xyz)
| [status.dissidence.ovh](https://status.dissidence.ovh)|N/A|Yes|Yes|
| [mastodon.cc](https://mastodon.cc)|Art|Yes|No|
| [mastodon.technology](https://mastodon.technology)|Open registrations, federates everywhere, for tech folks|Yes|No|
-| [mastodon.systemlab.fr](https://mastodon.systemlab.fr/)|Le mastodon Français, informatique, jeux-vidéos, gaming et hébergement.|Yes|No|
+| [mastodon.systemlab.fr](https://mastodon.systemlab.fr/)|Le mastodon Français, informatique, jeux-vidéos, gaming et hébergement.|Yes|
+| [mastodon.top](https://mastodon.top) |N/A|Yes|Yes|
+| [niu.moe](https://niu.moe/)|:dolls: The most cutest node ever, FR/EN, anime and computer :balloon:|Yes|Yes|
+| [im-in.space](https://im-in.space/)|SPAAAAACE! Probably with a lot of French people. (Invite-only, might randomly open registrations)|No|Yes|
+| [social.bytestemplar.com](https://social.bytestemplar.com)|N/A|Yes|No|
+| [digitalhumanities.club](http://www.digitalhumanities.club)|[Digital humanities](http://whatisdigitalhumanities.com) community; invitations will open once code of conduct drafted.|No|No
+| [design.vu](https://design.vu)|— what's your design view‽|Yes|No|
+| [masto.raildecake.fr](https://masto.raildecake.fr)|Hebergé chez un FAI associatif dans le sud de la france, grillons & pins en options|Yes|No|
+| [good-dragon.com](https://good-dragon.com/)|Quick updates, Relaxed Moderation, Federates Everywhere, Furries|Yes|No|
+| [rich.gop](https://rich.gop/)|Federates everywhere, Open registration, Privacy respected|Yes|Yes|
+| [social.nowa.re](https://social.nowa.re)|Open Registration|Yes|No|
+| [mastodon.ml](http://mastodon.ml) |A chill place to hangout and chat about anime, programming and movies.|Yes|Yes|
+| [off-the-clock.us](https://off-the-clock.us/)|The work day is over.|Yes|No|
+| [infinimatix.net](https://infinimatix.net)|Informatics|Yes|Yes|
+| [social.0day.agency](https://social.0day.agency)|Infosec, Hacking, Fun (only protonmail)|Yes|Yes|
+| [kagrumez.lerk.io](https://kagrumez.lerk.io)|Open registration. German end english.|Yes|No|
+| [meow.social](https://meow.social)|A furry fandom focused instance|Yes|No|
+| [neumastodon.com](https://neumastodon.com/)|Northeastern University Mastodon |Yes|No|
+| [dancingbanana.party](https://dancingbanana.party)|La banane qui danse.|Yes|No|
+| [mastodon.brussels.fr](https://mastodon.brussels/)|Le mastodon pour les belges, si vous aimez la bonne ambiance venez nous rejoindre !|Yes|Yes|
+| [mastodon.llamasweet.tech](https://mastodon.llamasweet.tech/)|Mastodon about Android developement|Yes|No|
+| [manx.social](https://manx.social/)|Instance for the Isle of Man|Yes|Yes|
+| [mastodon.host](https://mastodon.host/)|Lightly moderated, federates everywhere and has a follow bot ( Huge federated timeline )|Yes|No|
+| [mastodon.fun](https://mastodon.fun/)|Mastodon for everyone ! |Yes|Yes|
+| [oulipo.social](https://oulipo.social/)|An Oulipo Mastodon in which that fifth symbol in Latin script is taboo|Yes|No|
+| [indigo.zone](https://indigo.zone)|Open Registrations, General Purpose|Yes|No|
+
Let me know if you start running one so I can add it to the list! (Alternatively, add it yourself as a pull request).