diff options
author | Eugen <eugen@zeonfederated.com> | 2017-04-24 00:38:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-24 00:38:37 +0200 |
commit | 501514960a9de238e23cd607d2e8f4c1ff9f16c1 (patch) | |
tree | cf15e7726e7dfda032502c237af4e91cc92ed46a /config | |
parent | ef5937da1ff2d6caca244439dd9b9b9ed85fb278 (diff) |
Followers-only post federation (#2111)
* Make private toots get PuSHed to subscription URLs that belong to domains where you have approved followers * Authorized followers controller, stub for bulk action * Soft block in the background * Add simple test for new controller * Rename Settings::FollowersController to Settings::FollowerDomainsController, paginate results, rename "private" post setting to "followers-only", fix pagination style, improve post privacy preferences style, improve warning style * Extract compose form warnings into own container, show warning when posting to followers-only with unlocked account
Diffstat (limited to 'config')
-rw-r--r-- | config/locales/en.yml | 30 | ||||
-rw-r--r-- | config/locales/nl.yml | 97 | ||||
-rw-r--r-- | config/locales/pt-BR.yml | 2 | ||||
-rw-r--r-- | config/locales/simple_form.en.yml | 2 | ||||
-rw-r--r-- | config/locales/zh-CN.yml | 23 | ||||
-rw-r--r-- | config/navigation.rb | 1 | ||||
-rw-r--r-- | config/routes.rb | 4 |
7 files changed, 84 insertions, 75 deletions
diff --git a/config/locales/en.yml b/config/locales/en.yml index cbe2b4cbd..dda2acc13 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -41,14 +41,14 @@ en: remote_follow: Remote follow unfollow: Unfollow activitypub: - outbox: - name: "%{account_name}'s Outbox" - summary: "A collection of activities from user %{account_name}." activity: - create: - name: "%{account_name} created a note." announce: name: "%{account_name} announced an activity." + create: + name: "%{account_name} created a note." + outbox: + name: "%{account_name}'s Outbox" + summary: A collection of activities from user %{account_name}. admin: accounts: are_you_sure: Are you sure? @@ -227,6 +227,18 @@ en: follows: You follow mutes: You mute storage: Media storage + followers: + domain: Domain + explanation_html: If you want to ensure the privacy of your statuses, you must be aware of who is following you. <strong>Your private statuses are delivered to all instances where you have followers</strong>. You may wish to review them, and remove followers if you do not trust your privacy to be respected by the staff or software of those instances. + followers_count: Number of followers + lock_link: Lock your account + purge: Remove from followers + success: + one: In the process of soft-blocking followers from one domain... + other: In the process of soft-blocking followers from %{count} domains... + true_privacy_html: Please mind that <strong>true privacy can only be achieved with end-to-end encryption</strong>. + unlocked_warning_html: Anyone can follow you to immediately view your private statuses. %{lock_link} to be able to review and reject followers. + unlocked_warning_title: Your account is not locked generic: changes_saved_msg: Changes successfully saved! powered_by: powered by %{link} @@ -286,6 +298,7 @@ en: back: Back to Mastodon edit_profile: Edit profile export: Data export + followers: Authorized followers import: Import preferences: Preferences settings: Settings @@ -295,9 +308,12 @@ en: over_character_limit: character limit of %{max} exceeded show_more: Show more visibilities: - private: Only show to followers + private: Followers-only + private_long: Only show to followers public: Public - unlisted: Public, but do not display on the public timeline + public_long: Everyone can see + unlisted: Unlisted + unlisted_long: Everyone can see, but not listed on public timelines stream_entries: click_to_show: Click to show reblogged: boosted diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 492849f5e..acf9bd9dc 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -39,6 +39,48 @@ nl: posts: Berichten remote_follow: Extern volgen unfollow: Ontvolgen + admin: + settings: + click_to_edit: Klik om te bewerken + contact_information: + email: Vul een openbaar gebruikt e-mailadres in + label: Contactgegevens + username: Vul een gebruikersnaam in + registrations: + closed_message: + desc_html: Wordt op de voorpagina weergegeven wanneer registratie van nieuwe accounts is uitgeschakeld<br>En ook hier kan je HTML gebruiken + title: Bericht wanneer registratie is uitgeschakeld + open: + disabled: Uitgeschakeld + enabled: Ingeschakeld + title: Open registratie + setting: Instelling + site_description: + desc_html: Dit wordt als een alinea op de voorpagina getoond en gebruikt als meta-tag in de paginabron.<br>Je kan HTML gebruiken, zoals <code><a></code> en <code><em></code>. + title: Omschrijving Mastodon-server + site_description_extended: + desc_html: Wordt op de uitgebreide informatiepagina weergegeven<br>Je kan ook hier HTML gebruiken + title: Uitgebreide omschrijving Mastodon-server + site_title: Naam Mastodon-server + title: Server-instellingen + admin.reports: + comment: + label: Opmerking + none: Geen + delete: Verwijderen + id: ID + mark_as_resolved: Markeer als opgelost + report: 'Gerapporteerde toot #%{id}' + reported_account: Gerapporteerde account + reported_by: Gerapporteerd door + resolved: Opgelost + silence_account: Account stilzwijgen + status: Toot + suspend_account: Account blokkeren + target: Target + title: Gerapporteerde toots + unresolved: Onopgelost + view: Weergeven application_mailer: settings: 'E-mailvoorkeuren wijzigen: %{link}' signature: Mastodon-meldingen van %{instance} @@ -74,6 +116,12 @@ nl: x_minutes: "%{count}m" x_months: "%{count}ma" x_seconds: "%{count}s" + errors: + '404': De pagina waarnaar jij op zoek bent bestaat niet. + '410': De pagina waarnaar jij op zoek bent bestaat niet meer. + '422': + content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies? + title: Veiligheidsverificatie mislukt exports: blocks: Jij blokkeert csv: CSV @@ -161,52 +209,3 @@ nl: users: invalid_email: E-mailadres is ongeldig invalid_otp_token: Ongeldige tweestaps-aanmeldcode - errors: - 404: De pagina waarnaar jij op zoek bent bestaat niet. - 410: De pagina waarnaar jij op zoek bent bestaat niet meer. - 422: - title: Veiligheidsverificatie mislukt - content: Veiligheidsverificatie mislukt. Blokkeer je toevallig cookies? - admin.reports: - title: Gerapporteerde toots - status: Toot - unresolved: Onopgelost - resolved: Opgelost - id: ID - target: Target - reported_by: Gerapporteerd door - comment: - label: Opmerking - none: Geen - view: Weergeven - report: 'Gerapporteerde toot #%{id}' - delete: Verwijderen - reported_account: Gerapporteerde account - reported_by: Gerapporteerd door - silence_account: Account stilzwijgen - suspend_account: Account blokkeren - mark_as_resolved: Markeer als opgelost - admin: - settings: - title: Server-instellingen - setting: Instelling - click_to_edit: Klik om te bewerken - contact_information: - label: Contactgegevens - username: Vul een gebruikersnaam in - email: Vul een openbaar gebruikt e-mailadres in - site_title: Naam Mastodon-server - site_description: - title: Omschrijving Mastodon-server - desc_html: "Dit wordt als een alinea op de voorpagina getoond en gebruikt als meta-tag in de paginabron.<br>Je kan HTML gebruiken, zoals <code><a></code> en <code><em></code>." - site_description_extended: - title: Uitgebreide omschrijving Mastodon-server - desc_html: "Wordt op de uitgebreide informatiepagina weergegeven<br>Je kan ook hier HTML gebruiken" - registrations: - open: - title: Open registratie - enabled: Ingeschakeld - disabled: Uitgeschakeld - closed_message: - title: Bericht wanneer registratie is uitgeschakeld - desc_html: "Wordt op de voorpagina weergegeven wanneer registratie van nieuwe accounts is uitgeschakeld<br>En ook hier kan je HTML gebruiken" diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 551e92271..e8ad1279b 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -22,8 +22,8 @@ pt-BR: features_headline: O que torna Mastodon diferente get_started: Comece aqui links: Links - source_code: Source code other_instances: Outras instâncias + source_code: Source code terms: Termos user_count_after: usuários user_count_before: Lugar de diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 790d56452..4aa3818fd 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -23,7 +23,7 @@ en: email: E-mail address header: Header locale: Language - locked: Make account private + locked: Lock account new_password: New password note: Bio otp_attempt: Two-factor code diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 7b3ba7444..9b3608f24 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -30,8 +30,8 @@ zh-CN: user_count_before: 这里共注册有 accounts: follow: 关注 - followers: 粉丝 # "Fans" - following: 关注 # "Follow" + followers: 粉丝 + following: 关注 nothing_here: 神马都没有! people_followed_by: 正关注 people_who_follow: 粉丝 @@ -80,15 +80,14 @@ zh-CN: web: 用户页面 domain_blocks: add_new: 添加 - domain: 域名阻隔 created_msg: 正处理域名阻隔 destroyed_msg: 已撤销域名阻隔 + domain: 域名阻隔 new: create: 添加域名阻隔 - hint: 「域名阻隔」不会隔绝该域名用户的嘟账户入本站数据库,但会嘟文抵达后,自动套用特定的审批操作。 + hint: "「域名阻隔」不会隔绝该域名用户的嘟账户入本站数据库,但会嘟文抵达后,自动套用特定的审批操作。" severity: - desc_html: 「<strong>自动静音</strong>」令该域名用户的嘟文,设为只对关注者显示,没有关注的人会看不到。 - 「<strong>自动除名</strong>」会自动将该域名用户的嘟文、媒体文件、个人资料自本服务站删除。 + desc_html: "「<strong>自动静音</strong>」令该域名用户的嘟文,设为只对关注者显示,没有关注的人会看不到。 「<strong>自动除名</strong>」会自动将该域名用户的嘟文、媒体文件、个人资料自本服务站删除。" silence: 自动静音 suspend: 自动除名 title: 添加域名阻隔 @@ -99,10 +98,8 @@ zh-CN: suspend: 自动除名 severity: 阻隔程度 show: - # It turns out that Chinese only uses an "other" - # Well, we don't have these -s magic anyway... affected_accounts: - other: "数据库中有%{count}个账户受影响" + other: 数据库中有%{count}个账户受影响 retroactive: silence: 对此域名的所有账户取消静音 suspend: 对此域名的所有账户取消除名 @@ -147,8 +144,7 @@ zh-CN: username: 输入用户名称 registrations: closed_message: - desc_html: 当本站暂停接受注册时,会显示这个消息。<br/> - 可使用 HTML + desc_html: 当本站暂停接受注册时,会显示这个消息。<br/> 可使用 HTML title: 暂停注册消息 open: disabled: 停用 @@ -187,11 +183,10 @@ zh-CN: title: 关注 %{acct} datetime: distance_in_words: - # Ditching "about" as in en about_x_hours: "%{count} 小时" about_x_months: "%{count} 个月" about_x_years: "%{count} 年" - almost_x_years: "接近 %{count} 年" + almost_x_years: 接近 %{count} 年 half_a_minute: 刚刚 less_than_x_minutes: "%{count} 分不到" less_than_x_seconds: 刚刚 @@ -232,7 +227,6 @@ zh-CN: body: 自从你在%{since}使用%{instance}以后,错过了这些嘟嘟滴滴: mention: "%{name} 在此提及了你︰" new_followers_summary: - # censorship note: Better not mention "don't move your chicken", even if it's a phonetic joke one: 有人关注你了!耶! other: 有 %{count} 个人关注了你!别激动! subject: @@ -271,7 +265,6 @@ zh-CN: settings: 设置 two_factor_authentication: 两步认证 statuses: - # Hey, this is already in a web browser! open_in_web: 打开网页 over_character_limit: 超过了 %{max} 字的限制 show_more: 显示更多 diff --git a/config/navigation.rb b/config/navigation.rb index bdc0a7b6c..16bc86696 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -12,6 +12,7 @@ SimpleNavigation::Configuration.run do |navigation| settings.item :import, safe_join([fa_icon('cloud-upload fw'), t('settings.import')]), settings_import_url settings.item :export, safe_join([fa_icon('cloud-download fw'), t('settings.export')]), settings_export_url settings.item :authorized_apps, safe_join([fa_icon('list fw'), t('settings.authorized_apps')]), oauth_authorized_applications_url + settings.item :follower_domains, safe_join([fa_icon('users fw'), t('settings.followers')]), settings_follower_domains_url end primary.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_reports_url, if: proc { current_user.admin? } do |admin| diff --git a/config/routes.rb b/config/routes.rb index 6893aa06b..34c4fca4c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -63,6 +63,8 @@ Rails.application.routes.draw do resources :recovery_codes, only: [:create] resource :confirmation, only: [:new, :create] end + + resource :follower_domains, only: [:show, :update] end resources :media, only: [:show] @@ -109,9 +111,7 @@ Rails.application.routes.draw do # ActivityPub namespace :activitypub do get '/users/:id/outbox', to: 'outbox#show', as: :outbox - get '/statuses/:id', to: 'activities#show_status', as: :status - resources :notes, only: [:show] end |