Merge branch 'origin/master' into sync/upstream

Conflicts:
	app/javascript/mastodon/components/status_list.js
	app/javascript/mastodon/features/notifications/index.js
	app/javascript/mastodon/features/ui/components/modal_root.js
	app/javascript/mastodon/features/ui/components/onboarding_modal.js
	app/javascript/mastodon/features/ui/index.js
	app/javascript/styles/about.scss
	app/javascript/styles/accounts.scss
	app/javascript/styles/components.scss
	app/presenters/instance_presenter.rb
	app/services/post_status_service.rb
	app/services/reblog_service.rb
	app/views/about/more.html.haml
	app/views/about/show.html.haml
	app/views/accounts/_header.html.haml
	config/webpack/loaders/babel.js
	spec/controllers/api/v1/accounts/credentials_controller_spec.rb
This commit is contained in:
David Yip
2017-09-09 14:27:47 -05:00
352 changed files with 8629 additions and 2380 deletions

View File

@@ -1,5 +1,24 @@
{
"ignored_warnings": [
{
"warning_type": "Dynamic Render Path",
"warning_code": 15,
"fingerprint": "44d3f14e05d8fbb5b23e13ac02f15aa38b2a2f0f03b9ba76bab7f98e155a4a4e",
"check_name": "Render",
"message": "Render path contains parameter value",
"file": "app/views/stream_entries/embed.html.haml",
"line": 3,
"link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
"code": "render(action => \"stream_entries/#{Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase}\", { Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity, :centered => true })",
"render_path": [{"type":"controller","class":"StatusesController","method":"embed","line":35,"file":"app/controllers/statuses_controller.rb"}],
"location": {
"type": "template",
"template": "stream_entries/embed"
},
"user_input": "params[:id]",
"confidence": "Weak",
"note": ""
},
{
"warning_type": "Dynamic Render Path",
"warning_code": 15,
@@ -7,10 +26,10 @@
"check_name": "Render",
"message": "Render path contains parameter value",
"file": "app/views/admin/accounts/index.html.haml",
"line": 32,
"line": 63,
"link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
"code": "render(action => filtered_accounts.page(params[:page]), {})",
"render_path": [{"type":"controller","class":"Admin::AccountsController","method":"index","line":7,"file":"app/controllers/admin/accounts_controller.rb"}],
"render_path": [{"type":"controller","class":"Admin::AccountsController","method":"index","line":10,"file":"app/controllers/admin/accounts_controller.rb"}],
"location": {
"type": "template",
"template": "admin/accounts/index"
@@ -39,25 +58,6 @@
"confidence": "High",
"note": ""
},
{
"warning_type": "Dynamic Render Path",
"warning_code": 15,
"fingerprint": "c417f9d44ab05dd9cf3d5ec9df2324a5036774c151181787b32c4c940623191b",
"check_name": "Render",
"message": "Render path contains parameter value",
"file": "app/views/stream_entries/embed.html.haml",
"line": 2,
"link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
"code": "render(action => Account.find_local!(params[:account_username]).stream_entries.where(:activity_type => \"Status\").find(params[:id]).activity_type.downcase, { Account.find_local!(params[:account_username]).stream_entries.where(:activity_type => \"Status\").find(params[:id]).activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).stream_entries.where(:activity_type => \"Status\").find(params[:id]).activity, :centered => true })",
"render_path": [{"type":"controller","class":"StreamEntriesController","method":"embed","line":32,"file":"app/controllers/stream_entries_controller.rb"}],
"location": {
"type": "template",
"template": "stream_entries/embed"
},
"user_input": "params[:id]",
"confidence": "Weak",
"note": ""
},
{
"warning_type": "Dynamic Render Path",
"warning_code": 15,
@@ -84,10 +84,10 @@
"check_name": "Render",
"message": "Render path contains parameter value",
"file": "app/views/stream_entries/show.html.haml",
"line": 19,
"line": 23,
"link": "http://brakemanscanner.org/docs/warning_types/dynamic_render_path/",
"code": "render(partial => \"stream_entries/#{Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase}\", { :locals => ({ Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity_type.downcase.to_sym => Account.find_local!(params[:account_username]).statuses.find(params[:id]).stream_entry.activity, :include_threads => true }) })",
"render_path": [{"type":"controller","class":"StatusesController","method":"show","line":15,"file":"app/controllers/statuses_controller.rb"}],
"render_path": [{"type":"controller","class":"StatusesController","method":"show","line":20,"file":"app/controllers/statuses_controller.rb"}],
"location": {
"type": "template",
"template": "stream_entries/show"
@@ -97,6 +97,6 @@
"note": ""
}
],
"updated": "2017-05-07 08:26:06 +0900",
"brakeman_version": "3.6.1"
"updated": "2017-08-30 05:14:04 +0200",
"brakeman_version": "3.7.2"
}

View File

@@ -3,3 +3,5 @@ require_relative 'application'
# Initialize the Rails application.
Rails.application.initialize!
ActiveRecord::SchemaDumper.ignore_tables = ['deprecated_preview_cards']

View File

@@ -16,9 +16,10 @@ Rails.application.configure do
if Rails.root.join('tmp/caching-dev.txt').exist?
config.action_controller.perform_caching = true
config.cache_store = :memory_store
config.cache_store = :redis_store, ENV['REDIS_URL'], REDIS_CACHE_PARAMS
config.public_file_server.headers = {
'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}",
}
else
config.action_controller.perform_caching = false

View File

@@ -36,7 +36,7 @@ ignore_missing:
- 'activerecord.attributes.*'
- 'activerecord.errors.*'
- '{devise,pagination,doorkeeper}.*'
- '{date,datetime,time}.*'
- '{date,datetime,time,number}.*'
- 'simple_form.{yes,no}'
- 'simple_form.{placeholders,hints,labels}.*'
- 'simple_form.{error_notification,required}.:'
@@ -50,7 +50,7 @@ ignore_unused:
- 'activerecord.attributes.*'
- 'activerecord.errors.*'
- '{devise,pagination,doorkeeper}.*'
- '{date,datetime,time}.*'
- '{date,datetime,time,number}.*'
- 'simple_form.{yes,no}'
- 'simple_form.{placeholders,hints,labels}.*'
- 'simple_form.{error_notification,required}.:'

View File

@@ -154,7 +154,7 @@ Devise.setup do |config|
# their account can't be confirmed with the token any more.
# Default is nil, meaning there is no restriction on how long a user can take
# before confirming their account.
# config.confirm_within = 3.days
config.confirm_within = 2.days
# If true, requires any email changes to be confirmed (exactly the same way as
# initial account confirmation) to be applied. Requires additional unconfirmed_email
@@ -167,7 +167,7 @@ Devise.setup do |config|
# ==> Configuration for :rememberable
# The time the user will be remembered without asking for credentials again.
# config.remember_for = 2.weeks
config.remember_for = 1.year
# Invalidates all the remember me tokens when the user signs out.
config.expire_all_remember_me_on_sign_out = true
@@ -177,7 +177,7 @@ Devise.setup do |config|
# Options to be passed to the created cookie. For instance, you can set
# secure: true in order to force SSL only cookies.
# config.rememberable_options = {}
config.rememberable_options = { secure: true }
# ==> Configuration for :validatable
# Range for password length.

View File

@@ -50,7 +50,7 @@ Doorkeeper.configure do
# Optional parameter :confirmation => true (default false) if you want to enforce ownership of
# a registered application
# Note: you must also run the rails g doorkeeper:application_owner generator to provide the necessary support
# enable_application_owner :confirmation => true
enable_application_owner
# Define access token scopes for your provider
# For more information go to

View File

@@ -17,4 +17,5 @@ ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'ActivityPub'
inflect.acronym 'PubSubHubbub'
inflect.acronym 'ActivityStreams'
inflect.acronym 'JsonLd'
end

View File

@@ -0,0 +1,5 @@
# frozen_string_literal: true
require_relative '../../lib/json_ld/identity'
require_relative '../../lib/json_ld/security'
require_relative '../../lib/json_ld/activitystreams'

View File

@@ -1,4 +1,4 @@
# Be sure to restart your server when you modify this file.
Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json)
Mime::Type.register 'application/json', :json, %w(text/x-json application/jsonrequest application/jrd+json application/activity+json application/ld+json)
Mime::Type.register 'text/xml', :xml, %w(application/xml application/atom+xml application/xrd+xml)

View File

@@ -5,7 +5,7 @@ host = ENV.fetch('LOCAL_DOMAIN') { "localhost:#{port}" }
web_host = ENV.fetch('WEB_DOMAIN') { host }
https = ENV['LOCAL_HTTPS'] == 'true'
alternate_domains = ENV.fetch('ALTERNATE_DOMAINS') { "" }
alternate_domains = ENV.fetch('ALTERNATE_DOMAINS') { '' }
Rails.application.configure do
config.x.local_domain = host
@@ -17,6 +17,7 @@ Rails.application.configure do
config.action_mailer.default_url_options = { host: web_host, protocol: https ? 'https://' : 'http://', trailing_slash: false }
config.x.streaming_api_base_url = 'ws://localhost:4000'
config.x.use_ostatus_privacy = true
if Rails.env.production?
config.x.streaming_api_base_url = ENV.fetch('STREAMING_API_BASE_URL') { "ws#{https ? 's' : ''}://#{web_host}" }

View File

@@ -33,6 +33,7 @@ class Rack::Attack
match_data = env['rack.attack.match_data']
headers = {
'Content-Type' => 'application/json',
'X-RateLimit-Limit' => match_data[:limit].to_s,
'X-RateLimit-Remaining' => '0',
'X-RateLimit-Reset' => (now + (match_data[:period] - now.to_i % match_data[:period])).iso8601(6),

File diff suppressed because one or more lines are too long

View File

@@ -19,11 +19,11 @@ oc:
confirmation_instructions:
subject: "Mercés de confirmar vòstra inscripcion sus %{instance}"
password_change:
subject: 'Mastodon : senhal cambiat'
subject: 'Mastodon:senhal cambiat'
reset_password_instructions:
subject: 'Mastodon : instruccions per reïnicializar lo senhal'
subject: 'Mastodon:instruccions per reïnicializar lo senhal'
unlock_instructions:
subject: 'Mastodon : instuccions de desblocatge'
subject: 'Mastodon:instuccions de desblocatge'
omniauth_callbacks:
failure: Fracàs al moment de vos autentificar de %{kind} perque "%{reason}".
success: Sètz ben autentificat dempuèi lo compte %{kind}.
@@ -34,8 +34,8 @@ oc:
updated: Vòstre senhal es ben estat cambiat. Sètz ara connectat.
updated_not_active: Vòstre senhal es ben estat cambiat.
registrations:
destroyed: Adiu ! Vòstra inscripcion es estada anullada amb succès. Esperem vos tornar veire lèu.
signed_up: La benvenguda ! Sètz ben marcat al malhum.
destroyed: Adiu! Vòstra inscripcion es estada anullada amb succès. Esperem vos tornar veire lèu.
signed_up: La benvenguda! Sètz ben marcat al malhum.
signed_up_but_inactive: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara validat.
signed_up_but_locked: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara blocat.
signed_up_but_unconfirmed: Un messatge amb un ligam de confirmacion es estat enviat a vòstra adreça de corrièl. Clicatz sul ligam per activar vòstre compte. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables.
@@ -57,5 +57,5 @@ oc:
not_found: pas trobat
not_locked: èra pas blocat
not_saved:
one: '1 error defend aquesta %{resource} dèsser salvagardada :'
other: "%{count} errors defendon aquesta %{resource} dèsser salvagardadas :"
one: '1 error defend aquesta %{resource} dèsser salvagardada:'
other: "%{count} errors defendon aquesta %{resource} dèsser salvagardadas:"

View File

@@ -3,8 +3,10 @@ en:
activerecord:
attributes:
doorkeeper/application:
name: Name
name: Application name
redirect_uri: Redirect URI
scopes: Scopes
website: Application website
errors:
models:
doorkeeper/application:
@@ -33,18 +35,22 @@ en:
redirect_uri: Use one line per URI
scopes: Separate scopes with spaces. Leave blank to use the default scopes.
index:
application: Application
callback_url: Callback URL
delete: Delete
name: Name
new: New Application
new: New application
scopes: Scopes
show: Show
title: Your applications
new:
title: New Application
title: New application
show:
actions: Actions
application_id: Application Id
callback_urls: Callback urls
application_id: Client key
callback_urls: Callback URLs
scopes: Scopes
secret: Secret
secret: Client secret
title: 'Application: %{name}'
authorizations:
buttons:

View File

@@ -1,28 +1,14 @@
---
fr:
activemodel:
errors:
models:
remote_follow:
attributes:
acct:
blank: Le nom dutilisateur ne doit pas être vide
activerecord:
attributes:
doorkeeper/application:
name: Nom
redirect_uri: LURL de redirection
scope: Portée
website: Site Web de l'application
errors:
messages:
record_invalid: Données invalides
models:
account:
attributes:
note:
too_long: Description trop longue
username:
blank: Identifiant vide
taken: Identifiant déjà pris
doorkeeper/application:
attributes:
redirect_uri:
@@ -30,17 +16,6 @@ fr:
invalid_uri: doit être une URL valide.
relative_uri: doit être une URL absolue.
secured_uri: doit être une URL HTTP/SSL.
user:
attributes:
email:
blank: Courriel vide
invalid: Courriel invalide
taken: Courriel pris
password:
blank: Mot de passe vide
too_short: Mot de passe trop court
password_confirmation:
confirmation: Le mot de passe ne correspond pas
doorkeeper:
applications:
buttons:

View File

@@ -3,8 +3,10 @@ ja:
activerecord:
attributes:
doorkeeper/application:
name: 名前
name: アプリの名前
redirect_uri: リダイレクトURI
scopes: アクセス権
website: アプリのウェブサイト
errors:
models:
doorkeeper/application:
@@ -33,18 +35,22 @@ ja:
redirect_uri: 一行に一つのURLを入力してください
scopes: アクセス権は半角スペースで区切ることができます。 空白のままにするとデフォルトを使用します。
index:
application: アプリ
callback_url: コールバックURL
delete: 削除
name: 名前
new: 新規アプリ
scopes: アクセス権
show: 見る
title: アプリ
new:
title: 新規アプリ
show:
actions: アクション
application_id: アクションId
callback_urls: コールバックurl
application_id: クライアントキー
callback_urls: コールバックURL
scopes: アクセス権
secret: 非公開
secret: クライアントシークレット
title: 'アプリ: %{name}'
authorizations:
buttons:

View File

@@ -23,11 +23,11 @@ oc:
edit: Modificar
submit: Mandar
confirmations:
destroy: Sètz segur ?
destroy: Sètz segur?
edit:
title: Modificar laplicacion
form:
error: Ops ! Verificatz vòstre formulari
error: Ops! Verificatz vòstre formulari
help:
native_redirect_uri: Emplegatz %{native_redirect_uri} per densages locales
redirect_uri: Utilizatz una linha per URI
@@ -45,7 +45,7 @@ oc:
callback_urls: urls de rapèls
scopes: Encastres
secret: Secret
title: 'Aplicacion : %{name}'
title: 'Aplicacion:%{name}'
authorizations:
buttons:
authorize: Autorizar
@@ -62,7 +62,7 @@ oc:
buttons:
revoke: Revocar
confirmations:
revoke: Ne sètz segur ?
revoke: Ne sètz segur?
index:
application: Aplicacion
created_at: Creada lo

View File

@@ -3,8 +3,10 @@ pl:
activerecord:
attributes:
doorkeeper/application:
name: Nazwa
name: Nazwa aplikacji
redirect_uri: URI przekierowania
scopes: Zakres
website: Strona aplikacji
errors:
models:
doorkeeper/application:
@@ -33,9 +35,13 @@ pl:
redirect_uri: Jeden adres na linię tekstu
scopes: Rozdziel zakresy (scopes) spacjami. Zostaw puste, aby użyć domyślnych zakresów.
index:
application: Aplikacja
callback_url: URL wywołania zwrotnego (callback)
delete: Usuń
name: Nazwa
new: Nowa aplikacja
scopes: Zakres
show: Pokaż
title: Twoje aplikacje
new:
title: Nowa aplikacja
@@ -72,7 +78,7 @@ pl:
errors:
messages:
access_denied: Właściciel zasobu lub serwer autoryzujący odrzuciły żądanie.
credential_flow_not_configured: Ścieżka "Resource Owner Password Credentials" zakończyła się błędem, ponieważ Doorkeeper.configure.resource_owner_from_credentials nie jest skonfigurowany.
credential_flow_not_configured: Ścieżka "Resource Owner Password Credentials" zakończyła się błędem, ponieważ Doorkeeper.configure.resource_owner_from_credentials nie został skonfigurowany.
invalid_client: Autoryzacja klienta nie powiodła się z powodu nieznanego klienta, braku uwierzytelnienia klienta, lub niewspieranej metody uwierzytelniania.
invalid_grant: Grant uwierzytelnienia jest niepoprawny, przeterminowany, unieważniony, nie pasuje do URI przekierowwania użytego w żądaniu uwierzytelnienia, lub został wystawiony przez innego klienta.
invalid_redirect_uri: URI przekierowania jest nieprawidłowy.
@@ -83,8 +89,8 @@ pl:
expired: Token dostępowy wygasł
revoked: Token dostępowy został unieważniony
unknown: Token dostępowy jest błędny
resource_owner_authenticator_not_configured: Wyszukiwanie właściciela zasobu nie powiodło się, ponieważ Doorkeeper.configure.resource_owner_authenticator jest nieskonfigurowany.
server_error: Serwer uwierzytelniający napotkał niespodziewane warunki, które uniemożliwiły obsłużenie żądania.
resource_owner_authenticator_not_configured: Wyszukiwanie właściciela zasobu nie powiodło się, ponieważ Doorkeeper.configure.resource_owner_authenticator nie został skonfigurowany.
server_error: Serwer uwierzytelniający napotkał nieoczekiwand warunki, które uniemożliwiły obsłużenie żądania.
temporarily_unavailable: Serwer uwierzytelniający nie jest obecnie w stanie obsłużyć żądania z powodu tymczasowego przeciążenia lub prac konserwacyjnych.
unauthorized_client: Klient nie jest uprawniony do wykonania tego żądania przy pomocy tej metody.
unsupported_grant_type: Ten typ grantu uwierzytelniającego nie jest wspierany przez serwer uwierzytelniający.
@@ -92,14 +98,14 @@ pl:
flash:
applications:
create:
notice: Aplikacja utworzona.
notice: Utworzono aplikację.
destroy:
notice: Aplikacja usunięta.
notice: Usunięto aplikację.
update:
notice: Aplikacja zaktualizowana.
notice: Zaktualizowano aplikację.
authorized_applications:
destroy:
notice: Aplikacja unieważniona.
notice: Unieważniono aplikację.
layouts:
admin:
nav:
@@ -110,4 +116,4 @@ pl:
scopes:
follow: śledzenie, blokowanie, usuwanie blokady, anulowanie śledzenia kont
read: dostęp do odczytu danych konta
write: publikowanie postów w Twoim imieniu
write: publikowanie wpisów w Twoim imieniu

View File

@@ -37,12 +37,16 @@ en:
follow: Follow
followers: Followers
following: Following
media: Media
nothing_here: There is nothing here!
people_followed_by: People whom %{name} follows
people_who_follow: People who follow %{name}
posts: Posts
posts: Toots
posts_with_replies: Toots with replies
remote_follow: Remote follow
reserved_username: The username is reserved
roles:
admin: Admin
unfollow: Unfollow
admin:
accounts:
@@ -57,6 +61,7 @@ en:
feed_url: Feed URL
followers: Followers
follows: Follows
inbox_url: Inbox URL
ip: IP
location:
all: All
@@ -76,8 +81,10 @@ en:
alphabetic: Alphabetic
most_recent: Most recent
title: Order
outbox_url: Outbox URL
perform_full_suspension: Perform full suspension
profile_url: Profile URL
protocol: Protocol
public: Public
push_subscription_expires: PuSH subscription expires
redownload: Refresh avatar
@@ -220,7 +227,13 @@ en:
signature: Mastodon notifications from %{instance}
view: 'View:'
applications:
created: Application successfully created
destroyed: Application successfully deleted
invalid_url: The provided URL is invalid
regenerate_token: Regenerate access token
token_regenerated: Access token successfully regenerated
warning: Be very careful with this data. Never share it with anyone!
your_token: Your access token
auth:
agreement_html: By signing up you agree to <a href="%{rules_path}">our terms of service</a> and <a href="%{terms_path}">privacy policy</a>.
change_password: Security
@@ -275,7 +288,7 @@ en:
content: Security verification failed. Are you blocking cookies?
title: Security verification failed
'429': Throttled
noscript: To use the Mastodon web application, please enable JavaScript. Alternatively, find a native app for Mastodon for your platform.
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">native apps</a> for Mastodon for your platform.
exports:
blocks: You block
csv: CSV
@@ -340,6 +353,17 @@ en:
reblog:
body: 'Your status was boosted by %{name}:'
subject: "%{name} boosted your status"
number:
human:
decimal_units:
format: "%n%u"
units:
billion: B
million: M
quadrillion: Q
thousand: K
trillion: T
unit: ''
pagination:
next: Next
prev: Prev
@@ -358,9 +382,6 @@ en:
title: "%{name} mentioned you"
reblog:
title: "%{name} boosted your status"
subscribed:
body: You can now receive push notifications.
title: Subscription registered!
remote_follow:
acct: Enter your username@domain you want to follow from
missing_resource: Could not find the required redirect URL for your account
@@ -409,6 +430,7 @@ en:
authorized_apps: Authorized apps
back: Back to Mastodon
delete: Account deletion
development: Development
edit_profile: Edit profile
export: Data export
followers: Authorized followers
@@ -416,9 +438,14 @@ en:
preferences: Preferences
settings: Settings
two_factor_authentication: Two-factor Authentication
your_apps: Your applications
statuses:
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded
pin_errors:
ownership: Someone else's toot cannot be pinned
private: Non-public toot cannot be pinned
reblog: A boost cannot be pinned
show_more: Show more
visibilities:
private: Followers-only
@@ -429,6 +456,7 @@ en:
unlisted_long: Everyone can see, but not listed on public timelines
stream_entries:
click_to_show: Click to show
pinned: Pinned toot
reblogged: boosted
sensitive_content: Sensitive content
terms:

View File

@@ -274,7 +274,7 @@ fa:
content: تأیید امنیتی انجام نشد. آیا مرورگر شما کوکی‌ها را مسدود می‌کند؟
title: تأیید امنیتی شکست خورد
'429': درخواست‌های بیش از حد
noscript: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش می‌توانید یک اپ ماستدون را به‌کار ببرید.
noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش می‌توانید یک اپ ماستدون را به‌کار ببرید.
exports:
blocks: حساب‌های مسدودشده
csv: CSV
@@ -357,9 +357,6 @@ fa:
title: "%{name} از شما نام برد"
reblog:
title: "%{name} نوشتهٔ شما را بازبوقید"
subscribed:
body: از این به بعد سرور می‌تواندبه شما اعلان‌های تازه بفرستد .
title: عضویت ثبت شد!
remote_follow:
acct: نشانی حساب username@domain خود را این‌جا بنویسید
missing_resource: نشانی اینترنتی برای رسیدن به حساب شما پیدا نشد

File diff suppressed because one or more lines are too long

View File

@@ -37,12 +37,16 @@ ja:
follow: フォロー
followers: フォロワー
following: フォロー中
media: メディア
nothing_here: 何もありません
people_followed_by: "%{name} さんがフォロー中のアカウント"
people_who_follow: "%{name} さんをフォロー中のアカウント"
posts: 投稿
posts: トゥート
posts_with_replies: トゥートと返信
remote_follow: リモートフォロー
reserved_username: このユーザー名は予約されています。
roles:
admin: Admin
unfollow: フォロー解除
admin:
accounts:
@@ -57,6 +61,7 @@ ja:
feed_url: フィードURL
followers: フォロワー数
follows: フォロー数
inbox_url: Inbox URL
ip: IP
location:
all: すべて
@@ -76,10 +81,12 @@ ja:
alphabetic: アルファベット順
most_recent: 直近の活動順
title: 順序
outbox_url: Outbox URL
perform_full_suspension: 完全に活動停止させる
profile_url: プロフィールURL
protocol: プロトコル
public: パブリック
push_subscription_expires: PuSH購読期限切れ
push_subscription_expires: PuSH購読期限
redownload: アバターの更新
reset: リセット
reset_password: パスワード再設定
@@ -219,7 +226,13 @@ ja:
signature: Mastodon %{instance} インスタンスからの通知
view: 'View:'
applications:
created: アプリが作成されました
destroyed: アプリが削除されました
invalid_url: URLが無効です
regenerate_token: アクセストークンの再生成
token_regenerated: アクセストークンが再生成されました
warning: このデータは気をつけて取り扱ってください。不特定多数の人と共有しないでください!
your_token: アクセストークン
auth:
agreement_html: 登録すると <a href="%{rules_path}">利用規約</a> と <a href="%{terms_path}">プライバシーポリシー</a> に同意したことになります。
change_password: セキュリティ
@@ -227,6 +240,7 @@ ja:
delete_account_html: アカウントを削除したい場合、<a href="%{path}">こちら</a> から手続きが行えます。削除する前に、確認画面があります。
didnt_get_confirmation: 確認メールを受信できませんか?
forgot_password: パスワードをお忘れですか?
invalid_reset_password_token: パスワードリセットトークンが正しくないか期限切れです。もう一度リクエストしてください。
login: ログイン
logout: ログアウト
register: 登録する
@@ -273,7 +287,7 @@ ja:
content: セキュリティ認証に失敗しました。Cookieをブロックしていませんか
title: セキュリティ認証に失敗
'429': リクエストの制限に達しました。
noscript: Mastodonのウェブアプリケーションを利用する場合はJavaScriptを有効にしてください。またはあなたのプラットフォーム向けのMastodonネイティブアプリを探すことができます。
noscript_html: Mastodonのウェブアプリケーションを利用する場合はJavaScriptを有効にしてください。またはあなたのプラットフォーム向けの<a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodonネイティブアプリ</a>を探すことができます。
exports:
blocks: ブロック
csv: CSV
@@ -338,6 +352,17 @@ ja:
reblog:
body: 'あなたのトゥートが %{name} さんにブーストされました:'
subject: あなたのトゥートが %{name} さんにブーストされました
number:
human:
decimal_units:
format: "%n%u"
units:
billion: B
million: M
quadrillion: Q
thousand: K
trillion: T
unit: ''
pagination:
next:
prev:
@@ -356,9 +381,6 @@ ja:
title: "%{name} さんから返信がありました"
reblog:
title: あなたのトゥートが %{name} さんにブーストされました
subscribed:
body: あなたはプッシュ通知を受け取ることが出来ます
title: Subscription が登録されました
remote_follow:
acct: あなたの ユーザー名@ドメイン を入力してください
missing_resource: リダイレクト先が見つかりませんでした
@@ -407,6 +429,7 @@ ja:
authorized_apps: 認証済みアプリ
back: Mastodon に戻る
delete: アカウントの削除
development: 開発
edit_profile: プロフィールを編集
export: データのエクスポート
followers: 信頼済みのインスタンス
@@ -414,9 +437,14 @@ ja:
preferences: ユーザー設定
settings: 設定
two_factor_authentication: 二段階認証
your_apps: アプリ
statuses:
open_in_web: Webで開く
over_character_limit: 上限は %{max}文字までです
pin_errors:
ownership: 他人のトゥートを固定することはできません
private: 非公開のトゥートを固定することはできません
reblog: ブーストされたトゥートを固定することはできません
show_more: もっと見る
visibilities:
private: 非公開
@@ -427,6 +455,7 @@ ja:
unlisted_long: 誰でも見ることができますが、公開タイムラインには表示されません
stream_entries:
click_to_show: クリックして表示
pinned: 固定されたトゥート
reblogged: さんにブーストされました
sensitive_content: 閲覧注意
terms:

View File

@@ -220,7 +220,7 @@ ko:
content: 보안 인증에 실패했습니다. Cookie를 차단하고 있진 않습니까?
title: 보안 인증 실패
'429': 요청 횟수 제한에 도달했습니다.
noscript: Mastodon을 사용하기 위해서는 JavaScript를 켜 주십시오.
noscript_html: Mastodon을 사용하기 위해서는 JavaScript를 켜 주십시오.
exports:
blocks: 차단
csv: CSV

View File

@@ -272,7 +272,7 @@ nl:
content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies?
title: Veiligheidsverificatie mislukt
'429': Te veel verbindingsaanvragen.
noscript: Schakel JavaScript in om de webapplicatie van Mastodon te gebruiken. Als alternatief kan je een Mastodon-app zoeken voor jouw platform.
noscript_html: Schakel JavaScript in om de webapplicatie van Mastodon te gebruiken. Als alternatief kan je een <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">Mastodon-app</a> zoeken voor jouw platform.
exports:
blocks: Jij blokkeert
csv: CSV
@@ -353,9 +353,6 @@ nl:
title: "%{name} vermeldde jou"
reblog:
title: "%{name} boostte jouw toot"
subscribed:
body: Je kan nu pushmeldingen ontvangen.
title: Aanmelding bevestigd!
remote_follow:
acct: Geef jouw account@domein.tld op waarvandaan je wilt volgen
missing_resource: Kon vereiste doorverwijzings-URL voor jouw account niet vinden

View File

@@ -7,7 +7,7 @@ oc:
contact: Contacte
contact_missing: Pas parametrat
contact_unavailable: Pas disponible
description_headline: Qué es %{domain} ?
description_headline: Qué es %{domain}?
domain_count_after: autras instàncias
domain_count_before: Connectat a
extended_description_html: |
@@ -32,21 +32,25 @@ oc:
status_count_before: quan escrich
user_count_after: personas
user_count_before: Ostal de
what_is_mastodon: Ques Mastodon ?
what_is_mastodon: Ques Mastodon?
accounts:
follow: Sègre
followers: Seguidors
following: Abonaments
nothing_here: I a pas res aquí !
media: Mèdias
nothing_here: I a pas res aquí!
people_followed_by: Lo mond que %{name} sèc
people_who_follow: Lo mond que sègon %{name}
posts: Estatuts
posts: Tuts
posts_with_replies: Tuts amb responsas
remote_follow: Sègre a distància
reserved_username: Aqueste nom dutilizaire es reservat
roles:
admin: Admin
unfollow: Quitar de sègre
admin:
accounts:
are_you_sure: Sètz segur ?
are_you_sure: Sètz segur?
confirm: Confirmar
confirmed: Confirmat
disable_two_factor_authentication: Desactivar 2FA
@@ -57,6 +61,7 @@ oc:
feed_url: Flux URL
followers: Seguidors
follows: Abonaments
inbox_url: URL de recepcion
ip: IP
location:
all: Tot
@@ -76,8 +81,10 @@ oc:
alphabetic: Alfabetic
most_recent: Mai recent
title: Ordre
outbox_url: URL Outbox
perform_full_suspension: Botar en tren la suspension complèta
profile_url: URL del perfil
protocol: Protocòl
public: Public
push_subscription_expires: Fin de labonament PuSH
redownload: Actualizar los avatars
@@ -135,8 +142,8 @@ oc:
domain_name: Domeni
title: Instàncias conegudas
reports:
action_taken_by: Accion menada per
are_you_sure: Es segur ?
action_taken_by: Mesura menada per
are_you_sure: Es segur?
comment:
label: Comentari
none: Pas cap
@@ -214,31 +221,37 @@ oc:
body: "%{reporter} a senhalat %{target}"
subject: Novèl senhalament per %{instance} (#%{id})
application_mailer:
salutation: '%{name},'
settings: 'Cambiar las preferéncias de corrièl : %{link}'
salutation: "%{name},"
settings: 'Cambiar las preferéncias de corrièl: %{link}'
signature: Notificacion de Mastodon sus %{instance}
view: 'Veire :'
view: 'Veire:'
applications:
created: Aplicacion ben creada
destroyed: Aplication ben suprimida
invalid_url: LURL donada es invalida
regenerate_token: Tornar generar lo geton daccès
token_regenerated: Geton daccès ben regenerat
warning: Mèfi! Agachatz de partejar aquela donada amb degun!
your_token: Vòstre geton daccès
auth:
agreement_html: En vos marcar acceptatz <a href="%{rules_path}">nòstres tèrmes de servici</a> e <a href="%{terms_path}">politica de confidencialitat</a>.
change_password: Seguretat
delete_account: Suprimir lo compte
delete_account_html: Se volètz suprimir vòstre compte, podètz <a href="%{path}">o far aquí</a>. Vos demandarem que confirmetz.
didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion ?
forgot_password: Senhal oblidat ?
didnt_get_confirmation: Avètz pas recebut las instruccions de confirmacion?
forgot_password: Senhal oblidat?
invalid_reset_password_token: Lo geton de reïnicializacion es invalid o acabat. Tornatz demandar un geton se vos plai.
login: Se connectar
logout: Se desconnectar
register: Se marcar
resend_confirmation: Tornar mandar las instruccions de confirmacion
reset_password: Reïnicializar lo senhal
set_new_password: Picar un nòu senhal
invalid_reset_password_token: Ligam de reïnicializacion invalid o acabat. Tornatz ensajar se vos plai.
authorize_follow:
error: O planhèm, i a agut una error al moment de cercar lo compte
follow: Sègre
follow_request: 'Avètz demandat de sègre :'
following: 'Felicitacion ! Seguètz ara :'
follow_request: 'Avètz demandat de sègre:'
following: 'Felicitacion! Seguètz ara:'
post_follow:
close: O podètz tampar aquesta fenèstra.
return: Tornar al perfil
@@ -258,11 +271,11 @@ oc:
- gen
- feb
- mar
- mai
- abr
- mai
- jun
- jul
- ag
- ago
- set
- oct
- nov
@@ -299,26 +312,45 @@ oc:
- :year
datetime:
distance_in_words:
about_x_hours: Fa %{count} oras
about_x_months: Fa %{count} meses
about_x_hours:
one: Fa una ora
other: Fa %{count} oras
about_x_months:
one: Fa un mes
other: Fa %{count} meses
about_x_years:
one: Fa un an
other: Fa %{count} ans
almost_x_years:
one: Fa un an
other: Fa %{count} ans
one: Fa quasi un an
other: Fa quasi %{count} ans
half_a_minute: Ara
less_than_x_minutes: Fa %{count} minutas
less_than_x_seconds: Ara
less_than_x_minutes:
one: Fa mens duna minuta
other: Fa mens de %{count} minutas
less_than_x_seconds:
one: Fa mens duna segonda
other: Fa mens de %{count} segondas
over_x_years:
one: Fa mai dun an
other: Fa mai de %{count} ans
x_days:
one: Fa un jorn
other: Fa %{count} jorns
x_minutes:
one: Fa una minuta
other: Fa %{count} minutas
x_months:
one: Fa un mes
other: Fa %{count} meses
x_seconds:
one: Fa una segonda
other: Fa %{count} segondas
x_years:
one: Fa un an
other: Fa %{count} ans
x_days: Fa %{count} jorns
x_minutes: Fa %{count} minutas
x_months: Fa %{count} meses
x_seconds: Fa %{count} segondas
deletes:
bad_password_msg: Ben ensajat pirata ! Senhal incorrècte
bad_password_msg: Ben ensajat pirata! Senhal incorrècte
confirm_password: Picatz vòstre senhal actual per verificar vòstra identitat
description_html: Aquò suprimirà <strong>definitivament e sens possibilitat de retorn</strong> lo contengut de vòstre compte e lo desactivarà. Lo nom dutilizaire serà gardat per evitar una futura impostura.
proceed: Suprimir lo compte
@@ -330,10 +362,10 @@ oc:
'404': La pagina que recercatz existís pas.
'410': La pagina que cercatz existís pas mai.
'422':
content: Verificacion de seguretat fracassada. Blocatz los cookies ?
content: Verificacion de seguretat fracassada. Blocatz los cookies?
title: Verificacion de seguretat fracassada
'429': Lo servidor mòla (subrecargada)
noscript: Per utilizar laplicacion web de Mastodon, mercés dactivar JavaScript. O podètz utilizar una aplicacion per vòstra plataforma coma alernativa.
noscript_html: Per utilizar laplicacion web de Mastodon, mercés dactivar JavaScript. O podètz utilizar <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">una aplicacion</a> per vòstra plataforma coma alernativa.
exports:
blocks: Personas que blocatz
csv: CSV
@@ -347,18 +379,18 @@ oc:
lock_link: Clavar vòstre compte
purge: Tirar dels seguidors
success:
one: Soi a blocar los seguidors dun domeni...
other: Soi a blocar los seguidors de %{count} domenis...
one: Soi a blocar los seguidors dun domeni
other: Soi a blocar los seguidors de %{count} domenis
true_privacy_html: Mèfi que la <strong>vertadièra confidencialitat pòt solament èsser amb un chiframent del cap a la fin (end-to-end)</strong>.
unlocked_warning_html: Tot lo mond pòt vos sègre e veire sulpic vòstres estatuts privats. %{lock_link} per poder repassar e regetar los seguidors.
unlocked_warning_title: Vòstre compte es pas clavat
generic:
changes_saved_msg: Cambiaments ben realizats !
changes_saved_msg: Cambiaments ben realizats!
powered_by: propulsat per %{link}
save_changes: Salvagardar los cambiaments
validation_errors:
one: I a quicòm que truca ! Mercés de corregir lerror çai-jos
other: I a quicòm que truca ! Mercés de corregir las %{count} errors çai-jos
one: I a quicòm que truca! Mercés de corregir lerror çai-jos
other: I a quicòm que truca! Mercés de corregir las %{count} errors çai-jos
imports:
preface: Podètz importar qualques donadas coma lo mond que seguètz o blocatz a-n aquesta instància dun fichièr creat duna autra instància.
success: Vòstras donadas son ben estadas mandadas e seràn tractadas tre que possible
@@ -376,27 +408,27 @@ oc:
notification_mailer:
digest:
body: 'Trobatz aquí un resumit de çò quavètz mancat dempuèi vòstra darrièra visita lo %{since}:'
mention: "%{name} vos a mencionat dins :"
mention: "%{name} vos a mencionat dins:"
new_followers_summary:
one: Avètz un nòu seguidor ! Ouà !
other: Avètz %{count} nòus seguidors ! Qué crane !
one: Avètz un nòu seguidor! Ouà
other: Avètz %{count} nòus seguidors! Qué crane!
subject:
one: "Una nòva notificacion dempuèi vòstra darrièra visita \U0001F418"
other: "%{count} nòvas notificacions dempuèi vòstra darrièra visita \U0001F418"
favourite:
body: "%{name} a mes vòstre estatut en favorit :"
body: "%{name} a mes vòstre estatut en favorit:"
subject: "%{name} a mes vòstre estatut en favorit"
follow:
body: "%{name} vos sèc ara !"
body: "%{name} vos sèc ara!"
subject: "%{name} vos sèc ara"
follow_request:
body: "%{name} a demandat a vos sègre"
subject: 'Demanda dabonament : %{name}'
subject: 'Demanda dabonament: %{name}'
mention:
body: "%{name} vos a mencionat dins :"
body: "%{name} vos a mencionat dins:"
subject: "%{name} vos a mencionat"
reblog:
body: "%{name} a tornat partejar vòstre estatut :"
body: "%{name} a tornat partejar vòstre estatut:"
subject: "%{name} a tornat partejar vòstre estatut"
pagination:
next: Seguent
@@ -416,14 +448,11 @@ oc:
title: "%{name} vos a mencionat"
reblog:
title: "%{name} a partejat vòstre estatut"
subscribed:
body: Podètz ara recebre las notificacions push.
title: Abonament enregistrat !
remote_follow:
acct: Picatz vòstre utilizaire@instància que cal utilizar per sègre aqueste utilizaire
missing_resource: URL de redireccion pas trobada
proceed: Contunhatz per sègre
prompt: 'Sètz per sègre :'
prompt: 'Sètz per sègre:'
sessions:
activity: Darrièra activitat
browser: Navigator
@@ -467,6 +496,7 @@ oc:
authorized_apps: Aplicacions autorizadas
back: Tornar a Mastodon
delete: Supression de compte
development: Desvolopament
edit_profile: Modificar lo perfil
export: Export donadas
followers: Seguidors autorizats
@@ -474,9 +504,14 @@ oc:
preferences: Preferéncias
settings: Paramètres
two_factor_authentication: Autentificacion en dos temps
your_apps: Vòstras aplicacions
statuses:
open_in_web: Dobrir sul web
over_character_limit: limit de %{max} caractèrs passat
pin_errors:
ownership: Se pòt pas penjar lo tut de qualquun mai
private: Se pòt pas penjar los tuts pas publics
reblog: Se pòt pas penjar un tut partejat
show_more: Ne veire mai
visibilities:
private: Seguidors solament
@@ -486,22 +521,23 @@ oc:
unlisted: Pas listat
unlisted_long: Tot lo mond pòt veire mai serà pas visible sul flux public
stream_entries:
click_to_show: Clicatz per afichar
click_to_show: Clicatz per veire
pinned: Tut penjat
reblogged: a partejat
sensitive_content: Contengut sensible
terms:
body_html: |
<h2>Politica de confidencialitat</h2>
<h3 id="collect">Quinas informacions collectem ?</h3>
<h3 id="collect">Quinas informacions reculhèm?</h3>
<p>Collectem informacions sus vos quand vos marcatz sus nòstre site e juntem las donadas quand participatz a nòstre forum en legissent, escrivent e notant lo contengut partejat aquí.</p>
<p>Collectem informacions sus vos quand vos marcatz sus nòstre site e juntem las donadas quand participatz a nòstre forum en legir, escriure e notar lo contengut partejat aquí.</p>
<p>Pendent linscripcion podèm vos demandar vòstre nom e adreça de corrièl. Podètz çaquelà visitar nòstre site sens vos marcar. Verificarem vòstra adreça amb un messatge donant un ligam unic. Se clicatz sul ligam sauprem quavètz lo contraròtle de ladreça.</p>
<p>Quand sètz marcat e que publicatz quicòm, enregistrem ladreça IP dorigina. Podèm tanben salvagardar los jornals del servidor que tenon ladreça IP de totas las demandas fachas al nòstre servidor.</p>
<h3 id="use">Qué fasèm de vòstras informacions ?</h3>
<h3 id="use">Qué fasèm de vòstras informacions?</h3>
<p>Totas las informacions que collectem de vos pòdon servir dins los cases seguents :</p>
@@ -512,26 +548,26 @@ oc:
<li>Per enviar periodicament de corrièls &mdash; Podèm utilizar ladreça quavètz donada per vos enviar dinformacions e de notificacions que demandatz tocant de cambiaments dins los subjèctes del forum o en responsa a vòstre nom dutilizaire, en responsa a una demanda, e/o tota autra question.</li>
</ul>
<h3 id="protect">Cossí protegèm vòstras informacions ?</h3>
<h3 id="protect">Cossí protegèm vòstras informacions?</h3>
<p>Apliquem tota una mena de mesuras de seguretat per manténer la fisança de vòstras informacions personalas quand las picatz, mandatz, o i accedètz.</p>
<h3 id="data-retention">Quala es vòstra politica de conservacion de donadas ?</h3>
<h3 id="data-retention">Quala es vòstra politica de conservacion de donadas?</h3>
<p>Farem esfòrces per :</p>
<p>Farem esfòrces per:</p>
<ul>
<li>Gardar los jornals del servidor que contenon las adreças IP de totas las demandas al servidor pas mai de 90 jorns.</li>
<li>Gardar las adreças IP ligadas als utilizaires e lors publicacions pas mai de 5 ans.</li>
</ul>
<h3 id="cookies">Empleguem de cookies ?</h3>
<h3 id="cookies">Empleguem de cookies?</h3>
<p>Òc-ben. Los cookies son de pichons fichièrs quun site o sos forneires de servicis plaçan dins lo disc dur de vòstre ordenador via lo navigator Web (Se los acceptatz). Aqueles cookies permeton al site de reconéisser vòstre navigator e se tenètz un compte enregistrat de lassociar a vòstre compte.</p>
<p>Òc-ben. Los cookies son de pichons fichièrs quun site o sos provesidors de servicis plaçan dins lo disc dur de vòstre ordenador via lo navigator Web (Se los acceptatz). Aqueles cookies permeton al site de reconéisser vòstre navigator e se tenètz un compte enregistrat de lassociar a vòstre compte.</p>
<p>Empleguem de cookies per comprendre e enregistrar vòstras preferéncias per vòstras visitas venentas, per recampar de donadas sul trafic del site e las interaccions per dire que posquem ofrir una melhora experiéncia del site e de las aisinas pel futur. Pòt arribar que contractèssem amb de forneires de servicis tèrces per nos ajudar a comprendre melhor nòstres visitors. Aqueles forneires an pas lo drech que dutilizar las donadas collectadas per nos ajudar a menar e melhorar nòstre afar.</p>
<p>Empleguem de cookies per comprendre e enregistrar vòstras preferéncias per vòstras visitas venentas, per recampar de donadas sul trafic del site e las interaccions per dire que posquem ofrir una melhora experiéncia del site e de las aisinas pel futur. Pòt arribar que contractèssem amb de provesidors de servicis tèrces per nos ajudar a comprendre melhor nòstres visitors. Aqueles provesidors an pas lo drech que dutilizar las donadas collectadas per nos ajudar a menar e melhorar nòstre afar.</p>
<h3 id="disclose">Divulguem dinformacions a de tèrces ?</h3>
<h3 id="disclose">Divulguem dinformacions a de tèrces?</h3>
<p>Vendèm pas, comercem o qualque transferiment que siasque a de tèrces vòstras informacions personalas identificablas. Aquò inclutz pas los tèrces partits de confisança que nos assiston a menar nòstre site, menar nòstre afar o vos servir, baste que son dacòrd per gardar aquelas informacions confidencialas. Pòt tanben arribar que liberèssem vòstras informacions quand cresèm ques apropriat do far per se sometre a la lei, per refortir nòstras politicas, o per protegir los dreches, proprietats o seguritat de qualquun o de nosautres. Pasmens es possible que mandèssem dinformacions non-personalas e identificablas de nòstres visitors a dautres partits per dutilizacion en marketing, publicitat o un emplec mai.</p>
@@ -567,17 +603,18 @@ oc:
description_html: Sactivatz <strong> lautentificacion two-factor</strong>, vos caldrà vòstre mobil per vos connectar perque generarà un geton per vos daissar dintrar.
disable: Desactivar
enable: Activar
enabled_success: Autentificacion en dos temps Two-factor ben activada
enabled: Autentificacion en dos temps activada
enabled_success: Lautentificacion en dos temps es ben activada
generate_recovery_codes: Generar los còdis de recuperacion
instructions_html: "<strong>Escanatz aqueste còdi QR amb Google Authenticator o una aplicacion similària sus vòstre mobil</strong>. A partir dara, aquesta aplicacion generarà un geton que vos caldrà picar per vos connectar."
lost_recovery_codes: Los còdi de recuperacion vos permeton daccedir a vòstre compte se perdètz vòstre mobil. Savètz perdut vòstres còdis de recuperacion los podètz tornar generar aquí. Los ancians còdis seràn pas mai valides.
manual_instructions: 'Se podètz pas numerizar lo còdi QR e que vos cal picar lo còdi a la man, vaquí lo còdi en clar :'
manual_instructions: 'Se podètz pas numerizar lo còdi QR e que vos cal picar lo còdi a la man, vaquí lo còdi en clar:'
recovery_codes: Salvar los còdis de recuperacion
recovery_codes_regenerated: Los còdis de recuperacion son ben estats tornats generar
recovery_instructions_html: Se vos arriba de perdre vòstre mobil, podètz utilizar un dels còdis de recuperacion cai-jos per poder tornar accedir a vòstre compte. Gardatz los còdis en seguretat, per exemple, imprimissètz los e gardatz los amb vòstres documents importants.
setup: Paramètres
wrong_code: Lo còdi picat es invalid ! Lora es la bona sul servidor e lo mobil ?
wrong_code: Lo còdi picat es invalid! Lora es la bona sul servidor e lo mobil?
users:
invalid_email: Ladreça de corrièl es invalida
invalid_otp_token: Còdi dautentificacion en dos temps invalid
signed_in_as: 'Session a'
signed_in_as: Session a

View File

@@ -18,7 +18,7 @@ pl:
humane_approach_title: Bardziej ludzkie podejście
not_a_product_body: Mastodon nie jest komercyjną siecią. Nie doświadczysz tu reklam, zbierania danych, ani centralnego ośrodka, tak jak w przypadku wielu rozwiązań.
not_a_product_title: Jesteś człowiekiem, nie produktem
real_conversation_body: Mając do dyspozycji 500 znaków na post, rozdrobnienie zawartości i ostrzeżenia o multimediach, możesz wyrażać siebie na wszystkie możliwe sposoby.
real_conversation_body: Mając do dyspozycji 500 znaków na wpis, rozdrobnienie zawartości i ostrzeżenia o multimediach, możesz wyrażać siebie na wszystkie możliwe sposoby.
real_conversation_title: Zaprojektowany do prawdziwych rozmów
within_reach_body: Wiele aplikacji dla Androida, iOS i innych platform dzięki przyjaznemu programistom API sprawia, że możesz utrzymywać kontakt ze znajomymi praktycznie wszędzie.
within_reach_title: Zawsze w Twoim zasięgu
@@ -37,12 +37,16 @@ pl:
follow: Śledź
followers: Śledzących
following: Śledzi
media: Zawartość multimedialna
nothing_here: Niczego tu nie ma!
people_followed_by: Konta śledzone przez %{name}
people_who_follow: Osoby, które śledzą konto %{name}
posts: Wpisy
remote_follow: Zdalne śledzenie
posts_with_replies: Wpisy z odpowiedziami
remote_follow: Śledź zdalnie
reserved_username: Ta nazwa użytkownika jest zarezerwowana.
roles:
admin: Administrator
unfollow: Przestań śledzić
admin:
accounts:
@@ -65,12 +69,12 @@ pl:
title: Położenie
media_attachments: Załączniki multimedialne
moderation:
all: Wszystko
all: Wszystkie
silenced: Wyciszone
suspended: Zawieszone
title: Moderacja
most_recent_activity: Najnowsza aktywność
most_recent_ip: Najnowsze IP
most_recent_ip: Ostatnie IP
not_subscribed: Nie zasubskrybowano
order:
alphabetic: Alfabetycznie
@@ -88,9 +92,9 @@ pl:
search: Szukaj
show:
created_reports: Zgłoszenia tego użytkownika
report: zgłoszenie
report: zgłoszeń
targeted_reports: Zgłoszenia dotyczące tego użytkownika
silence: Cisza
silence: Wycisz
statuses: Statusy
subscribe: Subskrybuj
title: Konta
@@ -122,6 +126,7 @@ pl:
severity: Priorytet
show:
affected_accounts:
many: Dotyczy %{count} kont w bazie danych
one: Dotyczy jednego konta w bazie danych
other: Dotyczy %{count} kont w bazie danych
retroactive:
@@ -129,7 +134,7 @@ pl:
suspend: Odwołaj zawieszenie wszystkich kont w tej domenie
title: Odwołaj blokadę dla domeny %{domain}
undo: Cofnij
title: Blokady domen
title: Zablokowane domeny
undo: Cofnij
instances:
account_count: Znane konta
@@ -142,7 +147,7 @@ pl:
label: Komentarz
none: Brak
delete: Usuń
id: Identyfikator
id: ID
mark_as_resolved: Oznacz jako rozwiązane
nsfw:
'false': Nie oznaczaj jako NSFW
@@ -150,8 +155,8 @@ pl:
report: 'Zgłoszenie #%{id}'
report_contents: Zawartość
reported_account: Zgłoszone konto
reported_by: Zgłoszone przez
resolved: Rozwiązano
reported_by: Zgłaszający
resolved: Rozwiązane
silence_account: Wycisz konto
status: Status
suspend_account: Zawieś konto
@@ -180,7 +185,7 @@ pl:
desc_html: Dobre miejsce na zasady użytkowania, wprowadzenie i inne rzeczy, które wyróżniają tę instancję. Możesz korzystać z tagów HTML
title: Niestandardowy opis strony
site_terms:
desc_html: Miejsce na własną politykę prywatności, zasady użytkowania i inne unormowania prawne. Możesz używać tagów HTML
desc_html: Miejsce na własną politykę prywatności, zasady użytkowania i inne unormowania prawne. Możesz korzystać z tagów HTML
title: Niestandardowe zasady użytkowania
site_title: Nazwa instancji
timeline_preview:
@@ -204,7 +209,7 @@ pl:
with_media: Z zawartością multimedialną
subscriptions:
callback_url: URL zwrotny
confirmed: Potwierdzono
confirmed: Potwierdzone
expires_in: Wygasa
last_delivery: Ostatnio doręczono
title: WebSub
@@ -220,7 +225,13 @@ pl:
signature: Powiadomienie Mastodona z instancji %{instance}
view: 'Zobacz:'
applications:
invalid_url: Ten URL jest nieprawidłowy
created: Pomyślnie utworzono aplikację
destroyed: Pomyślnie usunięto aplikację
invalid_url: Wprowadzony adres URL jest nieprawidłowy
regenerate_token: Wygeneruj nowy token dostępu
token_regenerated: Pomyślnie wygenerowano nowy token dostępu
warning: Przechowuj te dane ostrożnie. Nie udostępniaj ich nikomu!
your_token: Twój token dostępu
auth:
agreement_html: Rejestrując się, oświadczasz, że zapoznałeś się z <a href="%{rules_path}">naszymi zasadami użytkowania</a> i <a href="%{terms_path}">polityką prywatności</a>.
change_password: Bezpieczeństwo
@@ -275,12 +286,12 @@ pl:
content: Sprawdzanie bezpieczeństwa nie powiodło się. Czy blokujesz pliki cookie?
title: Sprawdzanie bezpieczeństwa nie powiodło się
'429': Uduszono
noscript: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z natywnej aplikacji obsługującej Twoje urządzenie.
noscript_html: Aby korzystać z aplikacji Mastodon, włącz JavaScript. Możesz też skorzystać z jednej z <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">natywnych aplikacji</a> obsługującej Twoje urządzenie.
exports:
blocks: Blokujesz
blocks: Zablokowani
csv: CSV
follows: Śledzisz
mutes: Wyciszyłeś
follows: Śledzeni
mutes: Wyciszeni
storage: Urządzenie przechowujące dane
followers:
domain: Domena
@@ -362,9 +373,6 @@ pl:
title: "%{name} wspomniał o Tobie"
reblog:
title: "%{name} podbił Twój status"
subscribed:
body: Otrzymujesz teraz powiadomienia push.
title: Zarejestrowano subskrypcję!
remote_follow:
acct: Podaj swój adres (nazwa@domena), z którego chcesz śledzić
missing_resource: Nie udało się znaleźć adresu przekierowania z Twojej domeny
@@ -413,26 +421,33 @@ pl:
authorized_apps: Uwierzytelnione aplikacje
back: Powrót do Mastodona
delete: Usuń konto
development: Tworzenie aplikacji
edit_profile: Edytuj profil
export: Eksportuj dane
export: Eksportowanie danych
followers: Autoryzowani śledzący
import: Importuj dane
import: Importowanie danych
preferences: Preferencje
settings: Ustawienia
two_factor_authentication: Uwierzytelnianie dwuetapowe
your_apps: Twoje aplikacje
statuses:
open_in_web: Otwórz w przeglądarce
over_character_limit: limit %{max} znaków przekroczony
pin_errors:
ownership: Nie możesz przypiąć cudzego wpisu
private: Nie możesz przypiąć niepublicznego wpisu
reblog: Nie możesz przypiąć podbicia wpisu
show_more: Pokaż więcej
visibilities:
private: Tylko dla śledzących
private_long: Widoczne tylko dla śledzących
private_long: Widoczny tylko dla osób, które Cię śledzą
public: Publiczny
public_long: Widoczne dla wszystkich
public_long: Widoczny dla wszystkich użytkowników
unlisted: Niewypisany
unlisted_long: Widoczne dla wszystkich, ale nie wyświetlane na publicznych osiach czasu
unlisted_long: Widoczny dla wszystkich, ale nie wyświetlany na publicznych osiach czasu
stream_entries:
click_to_show: Naciśnij aby wyświetlić
pinned: Przypięty wpis
reblogged: podbił
sensitive_content: Wrażliwa zawartość
terms:
@@ -445,7 +460,7 @@ pl:
<p>Podczas rejestracji, możesz otrzymać prośbę o podanie adresu e-mail. Możesz jednak odwiedzać stronę bez rejestracji. Adres zostanie zweryfikowany przez kliknięcie w link wysłany w wiadomości. Dzięki temu wiemy, że jesteś właścicielem tego adresu.</p>
<p>Podczas rejestracji i tworzenia postów, Twój adres IP jest zapisywany na naszych serwerach. Możemy też przechowywać adres IP użyty przy każdej operacji w serwisie.</p>
<p>Podczas rejestracji i tworzenia wpisów, Twój adres IP jest zapisywany na naszych serwerach. Możemy też przechowywać adres IP użyty przy każdej operacji w serwisie.</p>
<h3 id="use">Jak wykorzystujemy zebrane informacje?</h3>

View File

@@ -193,7 +193,7 @@ ru:
content: Проверка безопасности не удалась. Возможно, Вы блокируете cookies?
title: Проверка безопасности не удалась.
'429': Слишком много запросов
noscript: Для работы с Mastodon, пожалуйста, включите JavaScript.
noscript_html: Для работы с Mastodon, пожалуйста, включите JavaScript.
exports:
blocks: Список блокировки
csv: CSV
@@ -278,9 +278,6 @@ ru:
title: Вас упомянул(а) %{name}
reblog:
title: "%{name} продвинул(а) Ваш статус"
subscribed:
body: Теперь Вы можете получать push-уведомления.
title: Подписка зарегистрирована!
remote_follow:
acct: Введите username@domain, откуда Вы хотите подписаться
missing_resource: Поиск требуемого перенаправления URL для Вашего аккаунта завершился неудачей

View File

@@ -12,6 +12,7 @@ fr:
note:
one: <span class="note-counter">1</span> caractère restant
other: <span class="note-counter">%{count}</span> caractères restants
setting_noindex: Affecte votre profil public ainsi que vos statuts
imports:
data: Un fichier CSV généré par une autre instance de Mastodon
sessions:
@@ -27,6 +28,7 @@ fr:
data: Données
display_name: Nom public
email: Adresse courriel
filtered_languages: Langues filtrées
header: Image den-tête
locale: Langue
locked: Verrouiller le compte
@@ -37,8 +39,11 @@ fr:
setting_auto_play_gif: Lire automatiquement les GIFs animés
setting_boost_modal: Afficher un dialogue de confirmation avant de partager
setting_default_privacy: Confidentialité des statuts
setting_default_sensitive: Toujours marquer les médias comme sensibles
setting_delete_modal: Afficher un dialogue de confirmation avant de supprimer un pouet
setting_noindex: Demander aux moteurs de recherche de ne pas indexer vos informations personnelles
setting_system_font_ui: Utiliser la police par défaut du système
setting_unfollow_modal: Afficher un dialogue de confirmation avant de vous désabonner dun compte
severity: Séverité
type: Type dimport
username: Identifiant

View File

@@ -16,12 +16,13 @@ pl:
many: Pozostało <span class="name-counter">%{count}</span> znaków
one: Pozostał <span class="name-counter">1</span> znak.
other: Pozostało <span class="name-counter">%{count}</span> znaków
setting_noindex: Wpływa na widoczność strony profilu i Twoich wpisów
imports:
data: Plik CSV wyeksportowany z innej instancji Mastodona
sessions:
otp: Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych.
otp: Wprowadź kod weryfikacji dwuetapowej z telefonu lub wykorzystaj jeden z kodów zapasowych
user:
filtered_languages: Wybrane języki nie będą się pojawiać na publicznych osiach czasu.
filtered_languages: Wpisy w wybranych językach nie będą pojawiać się na publicznych osiach czasu.
labels:
defaults:
avatar: Awatar
@@ -41,25 +42,25 @@ pl:
password: Hasło
setting_auto_play_gif: Automatycznie odtwarzaj animowane GIFy
setting_boost_modal: Pytaj o potwierdzenie przed podbiciem
setting_default_privacy: Widoczność posta
setting_default_privacy: Widoczność wpisów
setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
setting_delete_modal: Pytaj o potwierdzenie przed usunięciem postu
setting_delete_modal: Pytaj o potwierdzenie przed usunięciem wpisu
setting_noindex: Nie indeksuj mojego profilu w wyszukiwarkach internetowych
setting_system_font_ui: Używaj domyślnej czcionki systemu
setting_unfollow_modal: Pytaj o potwierdzenie przed usunięciem śledzenia
setting_unfollow_modal: Pytaj o potwierdzenie przed cofnięciem śledzenia
severity: Priorytet
type: Typ importu
username: Nazwa użytkownika
interactions:
must_be_follower: Zablokuj powiadomienia od osób, które Cię nie śledzą
must_be_following: Zablokuj powiadomienia od osób, których nie śledzisz
must_be_follower: Nie wyświetlaj powiadomień od osób, które Cię nie śledzą
must_be_following: Nie wyświetlaj powiadomień od osób, których nie śledzisz
notification_emails:
digest: Wysyłaj podsumowania e-mailem
favourite: Powiadom mnie e-mailem gdy ktoś polubi mój status.
follow: Powiadom mnie e-mailem gdy ktoś zacznie mnie śledzić.
follow_request: Powiadom mnie e-mailem gdy ktoś poprosi o pozwolenie śledzenia mnie.
mention: Powiadom mnie e-mailem gdy ktoś mnie wspomni.
reblog: Powiadom mnie e-mailem gdy ktoś podbije mój status.
favourite: Powiadamiaj mnie e-mailem, gdy ktoś polubi mój wpis
follow: Powiadamiaj mnie e-mailem, gdy ktoś zacznie mnie śledzić
follow_request: Powiadamiaj mnie e-mailem, gdy ktoś poprosi o pozwolenie na śledzenie mnie
mention: Powiadamiaj mnie e-mailem, gdy ktoś o mnie wspomni
reblog: Powiadamiaj mnie e-mailem, gdy ktoś podbije mój wpis
'no': Nie
required:
mark: "*"

View File

@@ -15,6 +15,10 @@ SimpleNavigation::Configuration.run do |navigation|
settings.item :follower_domains, safe_join([fa_icon('users fw'), t('settings.followers')]), settings_follower_domains_url
end
primary.item :development, safe_join([fa_icon('code fw'), t('settings.development')]), settings_applications_url do |development|
development.item :your_apps, safe_join([fa_icon('list fw'), t('settings.your_apps')]), settings_applications_url, highlights_on: %r{/settings/applications}
end
primary.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_reports_url, if: proc { current_user.admin? } do |admin|
admin.item :reports, safe_join([fa_icon('flag fw'), t('admin.reports.title')]), admin_reports_url, highlights_on: %r{/admin/reports}
admin.item :accounts, safe_join([fa_icon('users fw'), t('admin.accounts.title')]), admin_accounts_url, highlights_on: %r{/admin/accounts}

View File

@@ -20,6 +20,7 @@ Rails.application.routes.draw do
get '.well-known/host-meta', to: 'well_known/host_meta#show', as: :host_meta, defaults: { format: 'xml' }
get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger
get 'manifest', to: 'manifests#show', defaults: { format: 'json' }
get 'intent', to: 'intents#show'
devise_for :users, path: 'auth', controllers: {
sessions: 'auth/sessions',
@@ -43,6 +44,7 @@ Rails.application.routes.draw do
resources :statuses, only: [:show] do
member do
get :activity
get :embed
end
end
@@ -51,10 +53,16 @@ Rails.application.routes.draw do
resource :follow, only: [:create], controller: :account_follow
resource :unfollow, only: [:create], controller: :account_unfollow
resource :outbox, only: [:show], module: :activitypub
resource :inbox, only: [:create], module: :activitypub
end
resource :inbox, only: [:create], module: :activitypub
get '/@:username', to: 'accounts#show', as: :short_account
get '/@:username/with_replies', to: 'accounts#show', as: :short_account_with_replies
get '/@:username/media', to: 'accounts#show', as: :short_account_media
get '/@:account_username/:id', to: 'statuses#show', as: :short_account_status
get '/@:account_username/:id/embed', to: 'statuses#embed', as: :embed_short_account_status
namespace :settings do
resource :profile, only: [:show, :update]
@@ -75,6 +83,13 @@ Rails.application.routes.draw do
end
resource :follower_domains, only: [:show, :update]
resources :applications, except: [:edit] do
member do
post :regenerate
end
end
resource :delete, only: [:show, :destroy]
resources :sessions, only: [:destroy]
@@ -85,12 +100,13 @@ Rails.application.routes.draw do
# Remote follow
resource :authorize_follow, only: [:show, :create]
resource :share, only: [:show, :create]
namespace :admin do
resources :subscriptions, only: [:index]
resources :domain_blocks, only: [:index, :new, :create, :show, :destroy]
resource :settings, only: [:edit, :update]
resources :instances, only: [:index] do
collection do
post :resubscribe
@@ -150,6 +166,9 @@ Rails.application.routes.draw do
resource :mute, only: :create
post :unmute, to: 'mutes#destroy'
resource :pin, only: :create
post :unpin, to: 'pins#destroy'
end
member do
@@ -163,7 +182,8 @@ Rails.application.routes.draw do
resource :public, only: :show, controller: :public
resources :tag, only: :show
end
resources :streaming, only: [:index]
resources :streaming, only: [:index]
get '/search', to: 'search#index', as: :search
@@ -199,6 +219,7 @@ Rails.application.routes.draw do
resource :search, only: :show, controller: :search
resources :relationships, only: :index
end
resources :accounts, only: [:show] do
resources :statuses, only: :index, controller: 'accounts/statuses'
resources :followers, only: :index, controller: 'accounts/follower_accounts'
@@ -217,6 +238,7 @@ Rails.application.routes.draw do
namespace :web do
resource :settings, only: [:update]
resource :embed, only: [:create]
resources :push_subscriptions, only: [:create] do
member do
put :update
@@ -234,7 +256,7 @@ Rails.application.routes.draw do
root 'home#index'
match '*unmatched_route',
via: :all,
to: 'application#raise_not_found',
format: false
via: :all,
to: 'application#raise_not_found',
format: false
end

View File

@@ -21,3 +21,6 @@
user_cleanup_scheduler:
cron: '4 5 * * *'
class: Scheduler::UserCleanupScheduler
subscriptions_cleanup_scheduler:
cron: '2 2 * * 0'
class: Scheduler::SubscriptionsCleanupScheduler

View File

@@ -1,5 +1,7 @@
const { resolve } = require('path');
const env = process.env.NODE_ENV || 'development';
module.exports = {
test: /\.js$/,
// include react-intl because transform-react-remove-prop-types needs to apply to it
@@ -11,6 +13,6 @@ module.exports = {
options: {
forceEnv: process.env.NODE_ENV || 'development',
sourceRoot: 'app/javascript',
cacheDirectory: resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader'),
cacheDirectory: env === 'development' ? false : resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader'),
},
};