Merge pull request #797 from AndreLewin/master

Added Esperanto translation (eo)
This commit is contained in:
Shel R 2017-04-07 22:21:48 -04:00 committed by GitHub
commit e4e948a21b
9 changed files with 459 additions and 3 deletions

View File

@ -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({

View File

@ -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;

View File

@ -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) {

View File

@ -11,6 +11,7 @@ module SettingsHelper
uk: 'Українська',
'zh-CN': '简体中文',
fi: 'Suomi',
eo: 'Esperanto',
}.freeze
def human_locale(locale)

View File

@ -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')

View File

@ -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:'

View File

@ -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

164
config/locales/eo.yml Normal file
View File

@ -0,0 +1,164 @@
---
eo:
about:
about_mastodon: Mastodon estas <em>senpaga, malfermitkoda</em> socia reto. Ĝi estas <em>sencentra</em> 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 <em>socia reto</em> 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 (<strong>%{self}</strong>) 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: <strong>%{name}</strong> estas uzanto en <strong>%{domain}</strong>. Vi povas sekvi tiun aŭ interagi kun tiu, se vi havas konton ie ajn en la Fediverse. Se vi ne havas, vi povas <a href="%{sign_up_path}">membriĝi ĉi tie.</a>.
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 <strong>dufaktoran aŭtentigon</strong>, vi bezonos vian poŝtelefonon por ensaluti, ĉar ĝi kreos nombrojn, kiujn vi devos entajpi.
disable: Malebligi
enable: Ebligi
instructions_html: "<strong>Skanu tiun QR-kodon per Google Authenticator aŭ per simila aplikaĵo de via poŝtelefono</strong>. De tiam, la aplikaĵo kreos nombrojn, kiujn vi devos entajpi."
plaintext_secret_html: 'Rekte legebla sekreta kodo: <samp>%{secret}</samp>'
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: "&hellip;"

View File

@ -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'