about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-06-07 03:39:24 +0200
committerGitHub <noreply@github.com>2019-06-07 03:39:24 +0200
commit1db4117030ac69b1083ddfe7390dedb02cede421 (patch)
treea5d97d8f2046ab8455f108770570c3b3a5ba8bac
parenta60364ca7d26c82c9353980d0966d37e9aa66014 (diff)
Change preferences page into appearance, notifications, and other (#10977)
-rw-r--r--app/controllers/settings/notifications_controller.rb32
-rw-r--r--app/controllers/settings/preferences/appearance_controller.rb9
-rw-r--r--app/controllers/settings/preferences/notifications_controller.rb9
-rw-r--r--app/controllers/settings/preferences_controller.rb8
-rw-r--r--app/javascript/styles/mastodon/accounts.scss3
-rw-r--r--app/javascript/styles/mastodon/forms.scss10
-rw-r--r--app/views/layouts/mailer.html.haml2
-rw-r--r--app/views/settings/preferences/appearance/show.html.haml41
-rw-r--r--app/views/settings/preferences/notifications/show.html.haml (renamed from app/views/settings/notifications/show.html.haml)2
-rw-r--r--app/views/settings/preferences/show.html.haml48
-rw-r--r--app/views/settings/profiles/show.html.haml2
-rw-r--r--config/i18n-tasks.yml2
-rw-r--r--config/initializers/simple_form.rb10
-rw-r--r--config/locales/ar.yml3
-rw-r--r--config/locales/ast.yml4
-rw-r--r--config/locales/ca.yml3
-rw-r--r--config/locales/co.yml3
-rw-r--r--config/locales/cs.yml3
-rw-r--r--config/locales/cy.yml3
-rw-r--r--config/locales/da.yml3
-rw-r--r--config/locales/de.yml3
-rw-r--r--config/locales/el.yml3
-rw-r--r--config/locales/en.yml11
-rw-r--r--config/locales/en_GB.yml3
-rw-r--r--config/locales/eo.yml3
-rw-r--r--config/locales/es.yml3
-rw-r--r--config/locales/eu.yml3
-rw-r--r--config/locales/fa.yml3
-rw-r--r--config/locales/fi.yml3
-rw-r--r--config/locales/fr.yml3
-rw-r--r--config/locales/gl.yml3
-rw-r--r--config/locales/hu.yml3
-rw-r--r--config/locales/it.yml3
-rw-r--r--config/locales/ja.yml3
-rw-r--r--config/locales/ka.yml3
-rw-r--r--config/locales/kk.yml3
-rw-r--r--config/locales/ko.yml3
-rw-r--r--config/locales/lt.yml3
-rw-r--r--config/locales/nl.yml3
-rw-r--r--config/locales/no.yml3
-rw-r--r--config/locales/oc.yml3
-rw-r--r--config/locales/pl.yml3
-rw-r--r--config/locales/pt-BR.yml3
-rw-r--r--config/locales/pt.yml3
-rw-r--r--config/locales/ru.yml3
-rw-r--r--config/locales/simple_form.ar.yml2
-rw-r--r--config/locales/simple_form.ast.yml1
-rw-r--r--config/locales/simple_form.ca.yml2
-rw-r--r--config/locales/simple_form.co.yml3
-rw-r--r--config/locales/simple_form.cs.yml3
-rw-r--r--config/locales/simple_form.cy.yml2
-rw-r--r--config/locales/simple_form.da.yml2
-rw-r--r--config/locales/simple_form.de.yml2
-rw-r--r--config/locales/simple_form.el.yml2
-rw-r--r--config/locales/simple_form.en.yml7
-rw-r--r--config/locales/simple_form.en_GB.yml2
-rw-r--r--config/locales/simple_form.eo.yml2
-rw-r--r--config/locales/simple_form.es.yml2
-rw-r--r--config/locales/simple_form.eu.yml2
-rw-r--r--config/locales/simple_form.fa.yml2
-rw-r--r--config/locales/simple_form.fi.yml1
-rw-r--r--config/locales/simple_form.fr.yml2
-rw-r--r--config/locales/simple_form.gl.yml2
-rw-r--r--config/locales/simple_form.he.yml1
-rw-r--r--config/locales/simple_form.hu.yml1
-rw-r--r--config/locales/simple_form.it.yml2
-rw-r--r--config/locales/simple_form.ja.yml3
-rw-r--r--config/locales/simple_form.ka.yml2
-rw-r--r--config/locales/simple_form.ko.yml3
-rw-r--r--config/locales/simple_form.nl.yml2
-rw-r--r--config/locales/simple_form.no.yml1
-rw-r--r--config/locales/simple_form.oc.yml2
-rw-r--r--config/locales/simple_form.pl.yml2
-rw-r--r--config/locales/simple_form.pt-BR.yml2
-rw-r--r--config/locales/simple_form.pt.yml2
-rw-r--r--config/locales/simple_form.ro.yml2
-rw-r--r--config/locales/simple_form.ru.yml2
-rw-r--r--config/locales/simple_form.sk.yml3
-rw-r--r--config/locales/simple_form.sl.yml2
-rw-r--r--config/locales/simple_form.sq.yml2
-rw-r--r--config/locales/simple_form.sr-Latn.yml1
-rw-r--r--config/locales/simple_form.sr.yml2
-rw-r--r--config/locales/simple_form.sv.yml2
-rw-r--r--config/locales/simple_form.th.yml2
-rw-r--r--config/locales/simple_form.zh-CN.yml2
-rw-r--r--config/locales/simple_form.zh-HK.yml2
-rw-r--r--config/locales/simple_form.zh-TW.yml2
-rw-r--r--config/locales/sk.yml3
-rw-r--r--config/locales/sq.yml3
-rw-r--r--config/locales/sr-Latn.yml3
-rw-r--r--config/locales/sr.yml3
-rw-r--r--config/locales/sv.yml3
-rw-r--r--config/locales/th.yml3
-rw-r--r--config/locales/uk.yml3
-rw-r--r--config/locales/zh-CN.yml3
-rw-r--r--config/locales/zh-HK.yml3
-rw-r--r--config/locales/zh-TW.yml3
-rw-r--r--config/navigation.rb7
-rw-r--r--config/routes.rb12
-rw-r--r--spec/controllers/settings/preferences/notifications_controller_spec.rb (renamed from spec/controllers/settings/notifications_controller_spec.rb)4
100 files changed, 129 insertions, 295 deletions
diff --git a/app/controllers/settings/notifications_controller.rb b/app/controllers/settings/notifications_controller.rb
deleted file mode 100644
index b2ce83e42..000000000
--- a/app/controllers/settings/notifications_controller.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-# frozen_string_literal: true
-
-class Settings::NotificationsController < Settings::BaseController
-  layout 'admin'
-
-  before_action :authenticate_user!
-
-  def show; end
-
-  def update
-    user_settings.update(user_settings_params.to_h)
-
-    if current_user.save
-      redirect_to settings_notifications_path, notice: I18n.t('generic.changes_saved_msg')
-    else
-      render :show
-    end
-  end
-
-  private
-
-  def user_settings
-    UserSettingsDecorator.new(current_user)
-  end
-
-  def user_settings_params
-    params.require(:user).permit(
-      notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account),
-      interactions: %i(must_be_follower must_be_following must_be_following_dm)
-    )
-  end
-end
diff --git a/app/controllers/settings/preferences/appearance_controller.rb b/app/controllers/settings/preferences/appearance_controller.rb
new file mode 100644
index 000000000..80ea57bd2
--- /dev/null
+++ b/app/controllers/settings/preferences/appearance_controller.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class Settings::Preferences::AppearanceController < Settings::PreferencesController
+  private
+
+  def after_update_redirect_path
+    settings_preferences_appearance_path
+  end
+end
diff --git a/app/controllers/settings/preferences/notifications_controller.rb b/app/controllers/settings/preferences/notifications_controller.rb
new file mode 100644
index 000000000..a16ae6a67
--- /dev/null
+++ b/app/controllers/settings/preferences/notifications_controller.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+class Settings::Preferences::NotificationsController < Settings::PreferencesController
+  private
+
+  def after_update_redirect_path
+    settings_preferences_notifications_path
+  end
+end
diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb
index 930ff70e7..110debd6e 100644
--- a/app/controllers/settings/preferences_controller.rb
+++ b/app/controllers/settings/preferences_controller.rb
@@ -12,7 +12,7 @@ class Settings::PreferencesController < Settings::BaseController
 
     if current_user.update(user_params)
       I18n.locale = current_user.locale
-      redirect_to settings_preferences_path, notice: I18n.t('generic.changes_saved_msg')
+      redirect_to after_update_redirect_path, notice: I18n.t('generic.changes_saved_msg')
     else
       render :show
     end
@@ -20,6 +20,10 @@ class Settings::PreferencesController < Settings::BaseController
 
   private
 
+  def after_update_redirect_path
+    settings_preferences_path
+  end
+
   def user_settings
     UserSettingsDecorator.new(current_user)
   end
@@ -51,7 +55,7 @@ class Settings::PreferencesController < Settings::BaseController
       :setting_show_application,
       :setting_advanced_layout,
       notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account),
-      interactions: %i(must_be_follower must_be_following)
+      interactions: %i(must_be_follower must_be_following must_be_following_dm)
     )
   end
 end
diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss
index a93e1ea12..f95313a25 100644
--- a/app/javascript/styles/mastodon/accounts.scss
+++ b/app/javascript/styles/mastodon/accounts.scss
@@ -197,7 +197,8 @@
   }
 }
 
-.account-role {
+.account-role,
+.simple_form .recommended {
   display: inline-block;
   padding: 4px 6px;
   cursor: default;
diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss
index f3de87791..456ee4e0d 100644
--- a/app/javascript/styles/mastodon/forms.scss
+++ b/app/javascript/styles/mastodon/forms.scss
@@ -79,6 +79,12 @@ code {
           text-decoration: none;
         }
       }
+
+      .recommended {
+        position: absolute;
+        margin: 0 4px;
+        margin-top: -2px;
+      }
     }
   }
 
@@ -443,6 +449,10 @@ code {
     height: 41px;
   }
 
+  h4 {
+    margin-bottom: 15px !important;
+  }
+
   .label_input {
     &__wrapper {
       position: relative;
diff --git a/app/views/layouts/mailer.html.haml b/app/views/layouts/mailer.html.haml
index 4ffe3d79a..343bcb265 100644
--- a/app/views/layouts/mailer.html.haml
+++ b/app/views/layouts/mailer.html.haml
@@ -46,7 +46,7 @@
                             %tbody
                               %td.column-cell
                                 %p= t 'about.hosted_on', domain: site_hostname
-                                %p= link_to t('application_mailer.notification_preferences'), settings_notifications_url
+                                %p= link_to t('application_mailer.notification_preferences'), settings_preferences_notifications_url
                               %td.column-cell.text-right
                                 = link_to root_url do
                                   = image_tag full_pack_url('media/images/mailer/logo_transparent.png'), alt: 'Mastodon', height: 24
diff --git a/app/views/settings/preferences/appearance/show.html.haml b/app/views/settings/preferences/appearance/show.html.haml
new file mode 100644
index 000000000..10f009264
--- /dev/null
+++ b/app/views/settings/preferences/appearance/show.html.haml
@@ -0,0 +1,41 @@
+- content_for :page_title do
+  = t('settings.appearance')
+
+= simple_form_for current_user, url: settings_preferences_appearance_path, html: { method: :put } do |f|
+  .fields-row
+    .fields-group.fields-row__column.fields-row__column-6
+      = f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale, hint: false
+    .fields-group.fields-row__column.fields-row__column-6
+      = f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false, hint: false
+
+  %h4= t 'appearance.advanced_web_interface'
+
+  %p.hint= t 'appearance.advanced_web_interface_hint'
+
+  .fields-group
+    = f.input :setting_advanced_layout, as: :boolean, wrapper: :with_label, hint: false
+
+  %h4= t 'appearance.animations_and_accessibility'
+
+  .fields-group
+    = f.input :setting_auto_play_gif, as: :boolean, wrapper: :with_label, recommended: true
+    = f.input :setting_reduce_motion, as: :boolean, wrapper: :with_label
+    = f.input :setting_system_font_ui, as: :boolean, wrapper: :with_label
+
+  %h4= t 'appearance.confirmation_dialogs'
+
+  .fields-group
+    = f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label
+    = f.input :setting_boost_modal, as: :boolean, wrapper: :with_label
+    = f.input :setting_delete_modal, as: :boolean, wrapper: :with_label
+
+  %h4= t 'appearance.sensitive_content'
+
+  .fields-group
+    = f.input :setting_display_media, collection: ['default', 'show_all', 'hide_all'],label_method: lambda { |item| t("simple_form.hints.defaults.setting_display_media_#{item}") }, hint: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label
+
+  .fields-group
+    = f.input :setting_expand_spoilers, as: :boolean, wrapper: :with_label
+
+  .actions
+    = f.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/settings/notifications/show.html.haml b/app/views/settings/preferences/notifications/show.html.haml
index 6ec57b502..acc646fc3 100644
--- a/app/views/settings/notifications/show.html.haml
+++ b/app/views/settings/preferences/notifications/show.html.haml
@@ -1,7 +1,7 @@
 - content_for :page_title do
   = t('settings.notifications')
 
-= simple_form_for current_user, url: settings_notifications_path, html: { method: :put } do |f|
+= simple_form_for current_user, url: settings_preferences_notifications_path, html: { method: :put } do |f|
   = render 'shared/error_messages', object: current_user
 
   .fields-group
diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml
index 35b660a68..c966a16bc 100644
--- a/app/views/settings/preferences/show.html.haml
+++ b/app/views/settings/preferences/show.html.haml
@@ -1,34 +1,9 @@
 - content_for :page_title do
   = t('settings.preferences')
 
-%ul.quick-nav
-  %li= link_to t('preferences.languages'), '#settings_languages'
-  %li= link_to t('preferences.publishing'), '#settings_publishing'
-  %li= link_to t('preferences.other'), '#settings_other'
-  %li= link_to t('preferences.web'), '#settings_web'
-  %li= link_to t('settings.notifications'), settings_notifications_path
-
 = simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f|
   = render 'shared/error_messages', object: current_user
 
-  .fields-row#settings_languages
-    .fields-group.fields-row__column.fields-row__column-6
-      = f.input :locale, collection: I18n.available_locales, wrapper: :with_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, selected: I18n.locale
-    .fields-group.fields-row__column.fields-row__column-6
-      = f.input :setting_default_language, collection: [nil] + filterable_languages.sort, wrapper: :with_label, label_method: lambda { |locale| locale.nil? ? I18n.t('statuses.language_detection') : human_locale(locale) }, required: false, include_blank: false
-
-  .fields-group
-    = f.input :chosen_languages, collection: filterable_languages.sort, wrapper: :with_block_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
-
-  %hr#settings_publishing/
-
-  .fields-group
-    = f.input :setting_default_privacy, collection: Status.selectable_visibilities, wrapper: :with_floating_label, include_blank: false, label_method: lambda { |visibility| safe_join([I18n.t("statuses.visibilities.#{visibility}"), content_tag(:span, I18n.t("statuses.visibilities.#{visibility}_long"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
-
-    = f.input :setting_default_sensitive, as: :boolean, wrapper: :with_label
-
-  %hr#settings_other/
-
   .fields-group
     = f.input :setting_noindex, as: :boolean, wrapper: :with_label
 
@@ -36,32 +11,27 @@
     = f.input :setting_hide_network, as: :boolean, wrapper: :with_label
 
   .fields-group
-    = f.input :setting_show_application, as: :boolean, wrapper: :with_label
+    = f.input :setting_aggregate_reblogs, as: :boolean, wrapper: :with_label, recommended: true
 
-  %hr#settings_web/
+  %h4= t 'preferences.posting_defaults'
 
   .fields-row
     .fields-group.fields-row__column.fields-row__column-6
-      = f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false, hint: false
+      = f.input :setting_default_privacy, collection: Status.selectable_visibilities, wrapper: :with_label, include_blank: false, label_method: lambda { |visibility| safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') }, required: false, hint: false
+
     .fields-group.fields-row__column.fields-row__column-6
-      = f.input :setting_display_media, collection: ['default', 'show_all', 'hide_all'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| t("simple_form.hints.defaults.setting_display_media_#{item}") }, hint: false
+      = f.input :setting_default_language, collection: [nil] + filterable_languages.sort, wrapper: :with_label, label_method: lambda { |locale| locale.nil? ? I18n.t('statuses.language_detection') : human_locale(locale) }, required: false, include_blank: false, hint: false
 
   .fields-group
-    = f.input :setting_advanced_layout, as: :boolean, wrapper: :with_label
+    = f.input :setting_default_sensitive, as: :boolean, wrapper: :with_label
 
   .fields-group
-    = f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label
-    = f.input :setting_boost_modal, as: :boolean, wrapper: :with_label
-    = f.input :setting_delete_modal, as: :boolean, wrapper: :with_label
+    = f.input :setting_show_application, as: :boolean, wrapper: :with_label, recommended: true
 
-  .fields-group
-    = f.input :setting_aggregate_reblogs, as: :boolean, wrapper: :with_label
+  %h4= t 'preferences.public_timelines'
 
   .fields-group
-    = f.input :setting_auto_play_gif, as: :boolean, wrapper: :with_label
-    = f.input :setting_expand_spoilers, as: :boolean, wrapper: :with_label
-    = f.input :setting_reduce_motion, as: :boolean, wrapper: :with_label
-    = f.input :setting_system_font_ui, as: :boolean, wrapper: :with_label
+    = f.input :chosen_languages, collection: filterable_languages.sort, wrapper: :with_block_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
 
   .actions
     = f.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml
index 8ffb01824..f8a8fddd3 100644
--- a/app/views/settings/profiles/show.html.haml
+++ b/app/views/settings/profiles/show.html.haml
@@ -28,7 +28,7 @@
 
   - if Setting.profile_directory
     .fields-group
-      = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable_html', min_followers: Account::MIN_FOLLOWERS_DISCOVERY, path: explore_path)
+      = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable_html', min_followers: Account::MIN_FOLLOWERS_DISCOVERY, path: explore_path), recommended: true
 
   %hr.spacer/
 
diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml
index 1bcac154b..bc5a05f4a 100644
--- a/config/i18n-tasks.yml
+++ b/config/i18n-tasks.yml
@@ -51,7 +51,7 @@ ignore_unused:
   - 'activerecord.errors.*'
   - '{devise,pagination,doorkeeper}.*'
   - '{date,datetime,time,number}.*'
-  - 'simple_form.{yes,no}'
+  - 'simple_form.{yes,no,recommended}'
   - 'simple_form.{placeholders,hints,labels}.*'
   - 'simple_form.{error_notification,required}.:'
   - 'errors.messages.*'
diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb
index 386ede654..964526819 100644
--- a/config/initializers/simple_form.rb
+++ b/config/initializers/simple_form.rb
@@ -8,7 +8,16 @@ module AppendComponent
   end
 end
 
+module RecommendedComponent
+  def recommended(wrapper_options = nil)
+    return unless options[:recommended]
+    options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t('simple_form.recommended'), class: 'recommended')]) }
+    nil
+  end
+end
+
 SimpleForm.include_component(AppendComponent)
+SimpleForm.include_component(RecommendedComponent)
 
 SimpleForm.setup do |config|
   # Wrappers are used by the form builder to generate a
@@ -65,6 +74,7 @@ SimpleForm.setup do |config|
     b.use :html5
 
     b.wrapper tag: :div, class: :label_input do |ba|
+      ba.optional :recommended
       ba.use :label
 
       ba.wrapper tag: :div, class: :label_input__wrapper do |bb|
diff --git a/config/locales/ar.yml b/config/locales/ar.yml
index fe49ac7f6..0d961e486 100644
--- a/config/locales/ar.yml
+++ b/config/locales/ar.yml
@@ -736,10 +736,7 @@ ar:
     prev: السابق
     truncate: و
   preferences:
-    languages: اللغات
     other: إعدادات أخرى
-    publishing: النشر
-    web: الويب
   remote_follow:
     acct: قم بإدخال عنوان حسابك username@domain الذي من خلاله تود النشاط
     missing_resource: تعذر العثور على رابط التحويل المطلوب الخاص بحسابك
diff --git a/config/locales/ast.yml b/config/locales/ast.yml
index 7a51be7cf..a2df72ba6 100644
--- a/config/locales/ast.yml
+++ b/config/locales/ast.yml
@@ -245,10 +245,6 @@ ast:
         format: "%n%u"
   pagination:
     next: Siguiente
-  preferences:
-    languages: Llingües
-    publishing: Espublización
-    web: Web
   remote_follow:
     acct: Introduz el nome_usuariu@dominiu dende'l que lo quies facer
     no_account_html: "¿Nun tienes una cuenta? Pues <a href='%{sign_up_path}' target='_blank'>rexistrate equí</a>"
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index e76182bf4..d7cc8dfb1 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -777,10 +777,7 @@ ca:
       too_few_options: ha de tenir més d'una opció
       too_many_options: no pot contenir més de %{max} opcions
   preferences:
-    languages: Llengues
     other: Altre
-    publishing: Publicant
-    web: Web
   relationships:
     activity: Activitat del compte
     dormant: Inactiu
diff --git a/config/locales/co.yml b/config/locales/co.yml
index 4927c5c51..cc33d0ad1 100644
--- a/config/locales/co.yml
+++ b/config/locales/co.yml
@@ -777,10 +777,7 @@ co:
       too_few_options: deve avè più d'un'uzzione
       too_many_options: ùn pò micca avè più di %{max} uzzione
   preferences:
-    languages: Lingue
     other: Altre
-    publishing: Pubblicazione
-    web: Web
   relationships:
     activity: Attività di u contu
     dormant: Inattivu
diff --git a/config/locales/cs.yml b/config/locales/cs.yml
index 9b73e3b1d..bc1400050 100644
--- a/config/locales/cs.yml
+++ b/config/locales/cs.yml
@@ -788,10 +788,7 @@ cs:
       too_few_options: musí mít více než jednu položku
       too_many_options: nesmí obsahovat více než %{max} položky
   preferences:
-    languages: Jazyky
     other: Ostatní
-    publishing: Publikování
-    web: Web
   relationships:
     activity: Aktivita účtu
     dormant: Nečinné
diff --git a/config/locales/cy.yml b/config/locales/cy.yml
index f365f7173..3893d597f 100644
--- a/config/locales/cy.yml
+++ b/config/locales/cy.yml
@@ -746,10 +746,7 @@ cy:
     prev: Blaenorol
     truncate: "&hellip;"
   preferences:
-    languages: Ieithoedd
     other: Arall
-    publishing: Cyhoeddi
-    web: Gwe
   remote_follow:
     acct: Mewnbynnwch eich enwdefnyddiwr@parth yr ydych eisiau gweithredu ohonno
     missing_resource: Ni ellir canfod yr URL ailgyferio angenrheidiol i'ch cyfrif
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 0787db621..d0190d4a2 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -634,10 +634,7 @@ da:
     prev: Forrige
     truncate: "...&hellip;"
   preferences:
-    languages: Sprog
     other: Andet
-    publishing: Offentligører
-    web: Web
   remote_follow:
     acct: Indtast dit brugernavn@domæne du vil handle fra
     missing_resource: Kunne ikke finde det påkrævede omdirigerings link for din konto
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 7138b7269..04a3e7eaf 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -776,10 +776,7 @@ de:
       too_few_options: muss mindestens einen Eintrag haben
       too_many_options: kann nicht mehr als %{max} Einträge beinhalten
   preferences:
-    languages: Sprachen
     other: Weiteres
-    publishing: Beiträge
-    web: Web
   relationships:
     activity: Kontoaktivität
     dormant: Inaktiv
diff --git a/config/locales/el.yml b/config/locales/el.yml
index f2b6751ff..eadbca8a9 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -764,10 +764,7 @@ el:
       too_few_options: πρέπει να έχει περισσότερες από μια επιλογές
       too_many_options: δεν μπορεί να έχει περισσότερες από %{max} επιλογές
   preferences:
-    languages: Γλώσσες
     other: Άλλο
-    publishing: Δημοσίευση
-    web: Διαδίκτυο
   relationships:
     activity: Δραστηριότητα λογαριασμού
     dormant: Αδρανής
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 3b32e41a6..d4f1855aa 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -499,6 +499,12 @@ en:
       body: "%{reporter} has reported %{target}"
       body_remote: Someone from %{domain} has reported %{target}
       subject: New report for %{instance} (#%{id})
+  appearance:
+    advanced_web_interface: Advanced web interface
+    advanced_web_interface_hint: 'If you want to make use of your entire screen width, the advanced web interface allows you to configure many different columns to see as much information at the same time as you want: Home, notifications, federated timeline, any number of lists and hashtags.'
+    animations_and_accessibility: Animations and accessibility
+    confirmation_dialogs: Confirmation dialogs
+    sensitive_content: Sensitive content
   application_mailer:
     notification_preferences: Change e-mail preferences
     salutation: "%{name},"
@@ -778,10 +784,9 @@ en:
       too_few_options: must have more than one item
       too_many_options: can't contain more than %{max} items
   preferences:
-    languages: Languages
     other: Other
-    publishing: Publishing
-    web: Web
+    posting_defaults: Posting defaults
+    public_timelines: Public timelines
   relationships:
     activity: Account activity
     dormant: Dormant
diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml
index d428a95c3..33ba16210 100644
--- a/config/locales/en_GB.yml
+++ b/config/locales/en_GB.yml
@@ -759,10 +759,7 @@ en_GB:
       too_few_options: must have more than one item
       too_many_options: can't contain more than %{max} items
   preferences:
-    languages: Languages
     other: Other
-    publishing: Publishing
-    web: Web
   relationships:
     activity: Account activity
     dormant: Dormant
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index b85cb1a49..0e3c45341 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -772,10 +772,7 @@ eo:
       too_few_options: devas enhavi pli da unu propono
       too_many_options: ne povas enhavi pli da %{max} proponoj
   preferences:
-    languages: Lingvoj
     other: Aliaj aferoj
-    publishing: Publikado
-    web: Reto
   relationships:
     activity: Account activity
     dormant: Dormant
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 3a8e8dc0b..ed04e7101 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -639,10 +639,7 @@ es:
     prev: Anterior
     truncate: "&hellip;"
   preferences:
-    languages: Idiomas
     other: Otros
-    publishing: Publicación
-    web: Web
   remote_follow:
     acct: Ingesa tu usuario@dominio desde el que quieres seguir
     missing_resource: No se pudo encontrar la URL de redirección requerida para tu cuenta
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index 5ae664cad..c5171ae7b 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -705,10 +705,7 @@ eu:
     prev: Aurrekoa
     truncate: "&hellip;"
   preferences:
-    languages: Hizkuntzak
     other: Beste bat
-    publishing: Argitaratzea
-    web: Web
   remote_follow:
     acct: Sartu jarraitzeko erabili nahi duzun erabiltzaile@domeinua
     missing_resource: Ezin izan da zure konturako behar den birbideratze URL-a
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 3a3455c6d..f00ffdf2f 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -765,10 +765,7 @@ fa:
       too_few_options: حتماً باید بیش از یک گزینه داشته باشد
       too_many_options: نمی‌تواند بیشتر از %{max} گزینه داشته باشد
   preferences:
-    languages: تنظیمات زبان
     other: سایر تنظیمات
-    publishing: تنظیمات انتشار مطالب
-    web: وب
   relationships:
     activity: فعالیت حساب
     dormant: غیرفعال
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index e4a0ed22c..1072952ea 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -550,10 +550,7 @@ fi:
     prev: Edellinen
     truncate: "&hellip;"
   preferences:
-    languages: Kielet
     other: Muut
-    publishing: Julkaiseminen
-    web: Web
   remote_follow:
     acct: Syötä se käyttäjätunnus@verkkotunnus, josta haluat seurata
     missing_resource: Vaadittavaa uudelleenohjaus-URL:ää tiliisi ei löytynyt
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index e76fdf99e..2b06c7761 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -777,10 +777,7 @@ fr:
       too_few_options: doit avoir plus qu’une proposition
       too_many_options: ne peut contenir plus que %{max} propositions
   preferences:
-    languages: Langues
     other: Autre
-    publishing: Publication
-    web: Web
   relationships:
     activity: Activité du compte
     dormant: Dormant
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index 9c4673186..95066d007 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -760,10 +760,7 @@ gl:
       too_few_options: debe ter máis de unha opción
       too_many_options: non pode haber máis de %{max} opcións
   preferences:
-    languages: Idiomas
     other: Outro
-    publishing: Publicando
-    web: Web
   relationships:
     activity: Actividade da conta
     dormant: En repouso
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index b6029eeca..558330c5a 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -472,10 +472,7 @@ hu:
     prev: Előző
     truncate: "&hellip;"
   preferences:
-    languages: Nyelvek
     other: Egyéb
-    publishing: Közzététel
-    web: Web
   remote_follow:
     acct: Írd be a felhasználódat, amelyről követni szeretnéd felhasznalonev@domain formátumban
     missing_resource: A fiókodnál nem található a szükséges átirányítási URL
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 508b8a0dc..511af485a 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -692,10 +692,7 @@ it:
       too_few_options: deve avere più di un elemento
       too_many_options: non può contenere più di %{max} elementi
   preferences:
-    languages: Lingue
     other: Altro
-    publishing: Pubblicazione
-    web: Web
   remote_follow:
     acct: Inserisci il tuo username@dominio da cui vuoi seguire questo utente
     missing_resource: Impossibile trovare l'URL di reindirizzamento richiesto per il tuo account
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 4cf9db116..5935ebe56 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -776,10 +776,7 @@ ja:
       too_few_options: は複数必要です
       too_many_options: は%{max}個までです
   preferences:
-    languages: 言語
     other: その他
-    publishing: 投稿
-    web: ウェブ
   relationships:
     activity: 活動
     dormant: 非アクティブ
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index 9781fc5be..ef93cc997 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -602,10 +602,7 @@ ka:
     prev: წინა
     truncate: "&hellip;"
   preferences:
-    languages: ენები
     other: სხვა
-    publishing: გამოქვეყნება
-    web: ვები
   remote_follow:
     acct: შეიყვანეთ თქვენი username@domain საიდანაც გსურთ გაჰყვეთ
     missing_resource: საჭირო გადამისამართების ურლ თქვენი ანგარიშისთვის ვერ მოიძებნა
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index 84bd71081..5843000f3 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -715,10 +715,7 @@ kk:
       too_few_options: бір жауаптан көп болуы керек
       too_many_options: "%{max} жауаптан көп болмайды"
   preferences:
-    languages: Тілдер
     other: Басқа
-    publishing: Жариялау
-    web: Веб
   remote_follow:
     acct: Өзіңіздің username@domain теріңіз
     missing_resource: Аккаунтыңызға байланған URL табылмады
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 820b8e515..274f68df7 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -779,10 +779,7 @@ ko:
       too_few_options: 한가지 이상의 항목을 포함해야 합니다
       too_many_options: 항목은 %{max}개를 넘을 수 없습니다
   preferences:
-    languages: 언어
     other: 기타
-    publishing: 퍼블리싱
-    web: 웹
   relationships:
     activity: 계정 활동
     dormant: 휴면
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 7ea8dc76b..0f2a83e65 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -718,10 +718,7 @@ lt:
     prev: Ankstesnis
     truncate: "&hellip;"
   preferences:
-    languages: Kalbos
     other: Kita
-    publishing: Skelbiama
-    web: Tinklas
   remote_follow:
     acct: Įveskite Jūsų slapyvardį@domenas kurį norite naudoti
     missing_resource: Jūsų paskyros nukreipimo URL nerasta
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index e07e7b133..97be8aa81 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -776,10 +776,7 @@ nl:
       too_few_options: moet meer dan één item bevatten
       too_many_options: kan niet meer dan %{max} items bevatten
   preferences:
-    languages: Talen
     other: Overig
-    publishing: Publiceren
-    web: Webapp
   relationships:
     activity: Accountactiviteit
     dormant: Sluimerend
diff --git a/config/locales/no.yml b/config/locales/no.yml
index f16b314cb..395c81a62 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -472,10 +472,7 @@
     prev: Forrige
     truncate: "&hellip;"
   preferences:
-    languages: Språk
     other: Annet
-    publishing: Publisering
-    web: Web
   remote_follow:
     acct: Tast inn brukernavn@domene som du vil følge fra
     missing_resource: Kunne ikke finne URLen for din konto
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 81f17cd3d..a7ef25242 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -799,10 +799,7 @@ oc:
       too_few_options: deu contenir mai d’una opcion
       too_many_options: pòt pas contenir mai de %{max} opcions
   preferences:
-    languages: Lengas
     other: Autre
-    publishing: Publicar
-    web: Interfàcia Web
   relationships:
     activity: Activitat del compte
     dormant: Inactiu
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 1b9bb614c..54aabfff9 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -792,10 +792,7 @@ pl:
       too_few_options: musi zawierać przynajmniej dwie opcje
       too_many_options: nie może zawierać więcej niż %{max} opcji
   preferences:
-    languages: Języki
     other: Pozostałe
-    publishing: Publikowanie
-    web: Sieć
   relationships:
     activity: Aktywność konta
     dormant: Uśpione
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 22a3918a1..dbe19d4da 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -776,10 +776,7 @@ pt-BR:
       too_few_options: deve ter mais que um item
       too_many_options: não pode ter mais que %{max} itens
   preferences:
-    languages: Idiomas
     other: Outro
-    publishing: Publicação
-    web: Web
   relationships:
     activity: Atividade da conta
     dormant: Inativo
diff --git a/config/locales/pt.yml b/config/locales/pt.yml
index b827184e9..0061002c7 100644
--- a/config/locales/pt.yml
+++ b/config/locales/pt.yml
@@ -718,10 +718,7 @@ pt:
       too_few_options: tem de ter mais do que um item
       too_many_options: não pode conter mais do que %{max} itens
   preferences:
-    languages: Idiomas
     other: Outro
-    publishing: Publicação
-    web: Web
   remote_follow:
     acct: Entre seu usuário@domínio do qual quer seguir
     missing_resource: Não foi possível achar a URL de redirecionamento para sua conta
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index edccd9e7c..6d1db95c7 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -798,10 +798,7 @@ ru:
       too_few_options: должно быть больше 1 варианта
       too_many_options: может содержать не больше %{max} вариантов
   preferences:
-    languages: Языки
     other: Другое
-    publishing: Публикация
-    web: WWW
   relationships:
     activity: Активность аккаунта
     dormant: Заброшенные
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index f0d121135..6c2905846 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -25,13 +25,11 @@ ar:
         phrase: سوف يتم العثور عليه مهما كان نوع النص أو حتى و إن كان داخل الويب فيه تحذير عن المحتوى
         scopes: ما هي المجالات المسموح بها في التطبيق ؟ إن قمت باختيار أعلى المجالات فيمكنك الإستغناء عن الخَيار اليدوي.
         setting_aggregate_reblogs: لا تقم بعرض المشارَكات الجديدة لتبويقات قد قُمتَ بمشاركتها سابقا (هذا الإجراء يعني المشاركات الجديدة فقط التي تلقيتَها)
-        setting_default_language: يمكن الكشف التلقائي للّغة اللتي استخدمتها في تحرير تبويقاتك ، غيرَ أنّ العملية ليست دائما دقيقة
         setting_display_media_default: إخفاء الوسائط المُعيَّنة كحساسة
         setting_display_media_hide_all: إخفاء كافة الوسائط دائمًا
         setting_display_media_show_all: دائمًا عرض الوسائط المُعيَّنة كحساسة
         setting_hide_network: الحسابات التي تُتابعها و التي تُتابِعك على حد سواء لن تُعرَض على صفحتك الشخصية
         setting_noindex: ذلك يؤثر على حالة ملفك الشخصي و صفحاتك
-        setting_theme: ذلك يؤثر على الشكل الذي سيبدو عليه ماستدون عندما تقوم بالدخول مِن أي جهاز.
         username: اسم المستخدم الخاص بك سوف يكون فريدا مِن نوعه على %{domain}
       featured_tag:
         name: 'رُبَّما تريد/ي استخدام أحد هؤلاء:'
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index b91d5780a..41102d23f 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -10,7 +10,6 @@ ast:
         irreversible: Los toots peñeraos van desapaecer de mou irreversible, magar que se desanicie la peñera dempués
         password: Usa 8 caráuteres polo menos
         setting_hide_network: La xente que sigas y teas siguiendo nun va amosase nel perfil
-        setting_theme: Afeuta al aspeutu de Mastodon cuando anicies sesión dende cualesquier preséu.
         username: El nome d'usuariu va ser únicu en %{domain}
       imports:
         data: El ficheru CSV esportáu dende otra instancia de Mastodon
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index db87fb116..ab6ee5033 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -27,14 +27,12 @@ ca:
         phrase: Es combinarà independentment del format en el text o l'avís de contingut d'un toot
         scopes: A quines API es permetrà l'accés a l'aplicació. Si selecciones un àmbit d'alt nivell, no cal que seleccionis un d'individual.
         setting_aggregate_reblogs: No mostra els nous impulsos dels toots que ja s'han impulsat recentment (només afecta als impulsos nous rebuts)
-        setting_default_language: La llengua dels teus toots pot ser detectada automàticament però no sempre acuradament
         setting_display_media_default: Amaga els multimèdia marcats com a sensibles
         setting_display_media_hide_all: Sempre oculta tots els multimèdia
         setting_display_media_show_all: Mostra sempre els elements multimèdia marcats com a sensibles
         setting_hide_network: Qui tu segueixes i els que et segueixen a tu no es mostraran en el teu perfil
         setting_noindex: Afecta el teu perfil públic i les pàgines d'estat
         setting_show_application: L'aplicació que fas servir per a publicar es mostrarà a la vista detallada dels teus toots
-        setting_theme: Afecta l'aspecte de Mastodon quan es visita des de qualsevol dispositiu.
         username: El teu nom d'usuari serà únic a %{domain}
         whole_word: Quan la paraula clau o la frase sigui només alfanumèrica, s'aplicarà si coincideix amb la paraula sencera
       featured_tag:
diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml
index c4529093b..ddc9d5b50 100644
--- a/config/locales/simple_form.co.yml
+++ b/config/locales/simple_form.co.yml
@@ -26,16 +26,13 @@ co:
         password: Ci volenu almenu 8 caratteri
         phrase: Sarà trovu senza primura di e maiuscule o di l'avertimenti
         scopes: L'API à quelle l'applicazione averà accessu. S'è voi selezziunate un parametru d'altu livellu, un c'hè micca bisognu di selezziunà quell'individuali.
-        setting_advanced_layout: L'interfaccia avanzata cunsiste in parechje culonne persunalizabile
         setting_aggregate_reblogs: Ùn mustrà micca e nove spartere per i statuti chì sò stati spartuti da pocu (tocca solu e spartere più ricente)
-        setting_default_language: A lingua di i vostri statuti pò esse induvinata autumaticamente, mà ùn marchja micca sempre bè
         setting_display_media_default: Piattà i media marcati cum'è sensibili
         setting_display_media_hide_all: Sempre piattà tutti i media
         setting_display_media_show_all: Sempre affissà i media marcati cum'è sensibili
         setting_hide_network: I vostri abbunati è abbunamenti ùn saranu micca mustrati nant’à u vostru prufile
         setting_noindex: Tocca à u vostru prufile pubblicu è i vostri statuti
         setting_show_application: L'applicazione chì voi utilizate per mandà statuti sarà affissata indè a vista ditagliata di quelli
-        setting_theme: Tocca à l’apparenza di Mastodon quandu site cunnettatu·a da qualch’apparechju.
         username: U vostru cugnome sarà unicu nant'à %{domain}
         whole_word: Quandu a parolla o a frasa sana hè alfanumerica, sarà applicata solu s'ella currisponde à a parolla sana
       featured_tag:
diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml
index fa45fecd5..521b02c44 100644
--- a/config/locales/simple_form.cs.yml
+++ b/config/locales/simple_form.cs.yml
@@ -26,16 +26,13 @@ cs:
         password: Použijte alespoň 8 znaků
         phrase: Shoda bude nalezena bez ohledu na velikost písmen v těle tootu či varování o obsahu
         scopes: Která API bude aplikaci povoleno používat. Pokud vyberete rozsah nejvyššího stupně, nebudete je muset vybírat jednotlivě.
-        setting_advanced_layout: Pokročilé rozhraní se skládá z několika přizpůsobitelných sloupců
         setting_aggregate_reblogs: Nezobrazovat nové boosty pro tooty, které byly nedávno boostnuty (ovlivňuje pouze nově přijaté boosty)
-        setting_default_language: Jazyk vašich tootů může být detekován automaticky, není to však vždy přesné
         setting_display_media_default: Skrývat média označená jako citlivá
         setting_display_media_hide_all: Vždy skrývat všechna média
         setting_display_media_show_all: Vždy zobrazovat média označená jako citlivá
         setting_hide_network: Koho sledujete a kdo sleduje vás nebude zobrazeno na vašem profilu
         setting_noindex: Ovlivňuje váš veřejný profil a stránky tootů
         setting_show_application: Aplikace, kterou používáte k psaní tootů, bude zobrazena v detailním zobrazení vašich tootů
-        setting_theme: Ovlivňuje jak Mastodon vypadá, jste-li přihlášen na libovolném zařízení.
         username: Vaše uživatelské jméno bude na %{domain} unikátní
         whole_word: Je-li klíčové slovo či fráze pouze alfanumerická, bude aplikována pouze, pokud se shoduje s celým slovem
       featured_tag:
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 24ae49a2a..2c7a1e112 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -18,13 +18,11 @@ cy:
         password: Defnyddiwch oleiaf 8 nodyn
         phrase: Caiff ei gyfateb heb ystyriaeth o briflythrennu mewn testun neu rhybudd ynghylch cynnwys tŵt
         scopes: Pa APIau y bydd gan y rhaglen ganiatad i gael mynediad iddynt. Os dewiswch maes lefel uchaf, yna nid oes angen dewis rhai unigol.
-        setting_default_language: Mae modd adnabod iaith eich tŵtiau yn awtomatig, ond nid yw bob tro'n gywir
         setting_display_media_default: Cuddio cyfryngau wedi eu marcio'n sensitif
         setting_display_media_hide_all: Cuddio cyfryngau bob tro
         setting_display_media_show_all: Dangos cyfryngau wedi eu marcio'n sensitif bob tro
         setting_hide_network: Ni fydd y rheini yr ydych yn eu dilyn a phwy sy'n eich dilyn chi yn cael ei ddangos ar eich proffil
         setting_noindex: Mae hyn yn effeithio ar eich proffil cyhoeddus a'ch tudalennau statws
-        setting_theme: Mae hyn yn effeithio ar sut olwg sydd ar Matododon pan yr ydych wedi mewngofnodi o unrhyw ddyfais.
         username: Bydd eich enw defnyddiwr yn unigryw ar %{domain}
         whole_word: Os yw'r allweddair neu'r ymadrodd yn alffaniwmerig yn unig, mi fydd ond yn cael ei osod os yw'n cyfateb a'r gair cyfan
       imports:
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 483be7055..fd2024380 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -20,12 +20,10 @@ da:
         password: Brug mindst 8 tegn
         phrase: Vil blive parret uanset om der er store eller små bogstaver i teksten eller om der er en advarsel om et trut
         scopes: Hvilke APIs applikationen vil få adgang til. Hvis du vælger et højtlevel omfang, behøver du ikke vælge enkeltstående.
-        setting_default_language: Sproget for dine trut kan blive fundet automatisk, men det er ikke altid præcist
         setting_display_media_default: Skjul medier markeret som følsomt
         setting_display_media_hide_all: Skjul altid alle medier
         setting_hide_network: Hvem du følger og hvem der følger dig vil ikke blive vist på din profil
         setting_noindex: Påvirker din offentlige profil og status sider
-        setting_theme: Påvirker hvordan Mastodon ser ud når du er logget ind via en hvilken som helst enhed.
         username: Dit brugernavn vil være unikt på %{domain}
         whole_word: Når nøgle ordet eller udtrykket kun er alfanumerisk, vil det kun blive brugt hvis det passer hele ordet
       imports:
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 779476069..1356d5275 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -27,14 +27,12 @@ de:
         phrase: Wird unabhängig vom umgebenen Text oder Inhaltswarnung eines Beitrags verglichen
         scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen.
         setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge)
-        setting_default_language: Die Sprache der Beiträge kann automatisch erkannt werden, aber dies ist nicht immer genau
         setting_display_media_default: Verstecke Medien, die als sensibel markiert sind
         setting_display_media_hide_all: Alle Medien immer verstecken
         setting_display_media_show_all: Medien, die als sensibel markiert sind, immer anzeigen
         setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt
         setting_noindex: Betrifft dein öffentliches Profil und deine Beiträge
         setting_show_application: Die Anwendung, die du zum Schreiben von Beiträgen benutzt wird in der detaillierten Ansicht deiner Beiträge angezeigt
-        setting_theme: Wirkt sich darauf aus, wie Mastodon aussieht, egal auf welchem Gerät du eingeloggt bist.
         username: Dein Benutzer:innen-Name wird auf %{domain} nur einmal vorkommen
         whole_word: Wenn das Schlagwort oder die Phrase nur Buchstaben und Zahlen enthält, wird es nur angewendet, wenn es dem ganzen Wort entspricht
       featured_tag:
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index 3d812204c..2201ff498 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -27,14 +27,12 @@ el:
         phrase: Θα ταιριάζει ανεξαρτήτως πεζών/κεφαλαίων ή προειδοποίησης περιεχομένου του τουτ
         scopes: Ποια API θα επιτρέπεται στην εφαρμογή να χρησιμοποιήσεις. Αν επιλέξεις κάποιο υψηλό εύρος εφαρμογής, δε χρειάζεται να επιλέξεις και εξειδικευμένα.
         setting_aggregate_reblogs: Απόκρυψη των νέων προωθήσεωνγια τα τουτ που έχουν προωθηθεί πρόσφατα (επηρεάζει μόνο τις νέες προωθήσεις)
-        setting_default_language: Η γλώσσα των τουτ σου μπορεί να ανιχνευτεί αυτόματα αλλά δεν είναι πάντα ακριβές
         setting_display_media_default: Απόκρυψη ευαίσθητων πολυμέσων
         setting_display_media_hide_all: Μόνιμη απόκρυψη όλων των πολυμέσων
         setting_display_media_show_all: Μόνιμη εμφάνιση ευαίσθητων πολυμέσων
         setting_hide_network: Δε θα εμφανίζεται στο προφίλ σου ποιους ακολουθείς και ποιοι σε ακολουθούν
         setting_noindex: Επηρεάζει το δημόσιο προφίλ και τις δημοσιεύσεις σου
         setting_show_application: Η εφαρμογή που χρησιμοποιείς για να στέλνεις τα τουτ σου θα εμφανίζεται στις αναλυτικές λεπτομέρειες τους
-        setting_theme: Επηρεάζει την εμφάνιση του Mastodon όταν συνδέεται από οποιαδήποτε συσκευή.
         username: Το όνομα χρήστη σου θα είναι μοναδικό στο %{domain}
         whole_word: Όταν η λέξη ή η φράση κλειδί είναι μόνο αλφαριθμητική, θα εφαρμοστεί μόνο αν ταιριάζει με ολόκληρη τη λέξη
       featured_tag:
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 2f75efdbd..4602f9cd9 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -26,16 +26,14 @@ en:
         password: Use at least 8 characters
         phrase: Will be matched regardless of casing in text or content warning of a toot
         scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones.
-        setting_advanced_layout: The advanced UI consists of multiple customizable columns
         setting_aggregate_reblogs: Do not show new boosts for toots that have been recently boosted (only affects newly-received boosts)
-        setting_default_language: The language of your toots can be detected automatically, but it's not always accurate
+        setting_default_sensitive: Sensitive media is hidden by default and can be revealed with a click
         setting_display_media_default: Hide media marked as sensitive
         setting_display_media_hide_all: Always hide all media
         setting_display_media_show_all: Always show media marked as sensitive
         setting_hide_network: Who you follow and who follows you will not be shown on your profile
         setting_noindex: Affects your public profile and status pages
         setting_show_application: The application you use to toot will be displayed in the detailed view of your toots
-        setting_theme: Affects how Mastodon looks when you're logged in from any device.
         username: Your username will be unique on %{domain}
         whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word
       featured_tag:
@@ -96,7 +94,7 @@ en:
         setting_auto_play_gif: Auto-play animated GIFs
         setting_boost_modal: Show confirmation dialog before boosting
         setting_default_language: Posting language
-        setting_default_privacy: Post privacy
+        setting_default_privacy: Posting privacy
         setting_default_sensitive: Always mark media as sensitive
         setting_delete_modal: Show confirmation dialog before deleting a toot
         setting_display_media: Media display
@@ -134,6 +132,7 @@ en:
         reblog: Send e-mail when someone boosts your status
         report: Send e-mail when a new report is submitted
     'no': 'No'
+    recommended: Recommended
     required:
       mark: "*"
       text: required
diff --git a/config/locales/simple_form.en_GB.yml b/config/locales/simple_form.en_GB.yml
index 6eac4bf3c..8752d81bb 100644
--- a/config/locales/simple_form.en_GB.yml
+++ b/config/locales/simple_form.en_GB.yml
@@ -27,14 +27,12 @@ en_GB:
         phrase: Will be matched regardless of casing in text or content warning of a toot
         scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones.
         setting_aggregate_reblogs: Do not show new boosts for toots that have been recently boosted (only affects newly-received boosts)
-        setting_default_language: The language of your toots can be detected automatically, but it's not always accurate
         setting_display_media_default: Hide media marked as sensitive
         setting_display_media_hide_all: Always hide all media
         setting_display_media_show_all: Always show media marked as sensitive
         setting_hide_network: Who you follow and who follows you will not be shown on your profile
         setting_noindex: Affects your public profile and status pages
         setting_show_application: The application you use to toot will be displayed in the detailed view of your toots
-        setting_theme: Affects how Mastodon looks when you're logged in from any device.
         username: Your username will be unique on %{domain}
         whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word
       featured_tag:
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index f4e1df32a..0ac42102a 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -27,14 +27,12 @@ eo:
         phrase: Estos provita senzorge pri la uskleco de teksto aŭ averto pri enhavo de mesaĝo
         scopes: Kiujn API-ojn la aplikaĵo permesiĝos atingi. Se vi elektas supran amplekson, vi ne bezonas elekti la individuajn.
         setting_aggregate_reblogs: Ne montri novajn diskonigojn de mesaĝoj laste diskonigitaj (nur efikas al novaj diskonigoj)
-        setting_default_language: La lingvo de viaj mesaĝoj povas esti aŭtomate detektitaj, sed tio ne ĉiam ĝustas
         setting_display_media_default: Kaŝi aŭdovidaĵojn markitajn kiel tiklaj
         setting_display_media_hide_all: Ĉiam kaŝi ĉiujn aŭdovidaĵojn
         setting_display_media_show_all: Ĉiam montri aŭdovidaĵojn markitajn kiel tiklaj
         setting_hide_network: Tiuj, kiujn vi sekvas, kaj tiuj, kiuj sekvas vin ne estos videblaj en via profilo
         setting_noindex: Influas vian publikan profilon kaj mesaĝajn paĝojn
         setting_show_application: La aplikaĵo, kiun vi uzas por afiŝi, estos montrita en la detala vido de viaj mesaĝoj
-        setting_theme: Influas kiel Mastodon aspektas post ensaluto de ajna aparato.
         username: Via uzantnomo estos unika ĉe %{domain}
         whole_word: Kiam la vorto aŭ frazo estas nur litera aŭ cifera, ĝi estos uzata nur se ĝi kongruas kun la tuta vorto
       featured_tag:
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index c0d72dc27..da11df3f7 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -16,10 +16,8 @@ es:
         locked: Requiere que manualmente apruebes seguidores y las publicaciones serán mostradas solamente a tus seguidores
         phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de un toot
         scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales.
-        setting_default_language: El idioma de tus toots podrá detectarse automáticamente, pero no siempre es preciso
         setting_hide_network: A quién sigues y quién te sigue no será mostrado en tu perfil
         setting_noindex: Afecta a tu perfil público y páginas de estado
-        setting_theme: Afecta al aspecto de Mastodon cuando te identificas desde cualquier dispositivo.
         whole_word: Cuando la palabra clave o frase es solo alfanumérica, solo será aplicado si concuerda con toda la palabra
       imports:
         data: Archivo CSV exportado desde otra instancia de Mastodon
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index f4fadb29d..36688ee55 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -27,14 +27,12 @@ eu:
         phrase: Bat egingo du Maiuskula/minuskula kontuan hartu gabe eta edukiaren abisua kontuan hartu gabe
         scopes: Zeintzuk API atzitu ditzakeen aplikazioak. Goi mailako arloa aukeratzen baduzu, ez dituzu azpikoak aukeratu behar.
         setting_aggregate_reblogs: Ez erakutsi buktzada berriak berriki bultzada jaso duten tootentzat (berriki jasotako bultzadei eragiten die besterik ez)
-        setting_default_language: Zure Toot-en hizkuntza automatikoki antzeman daiteke, baina ez da beti zehatza
         setting_display_media_default: Ezkutatu hunkigarri gisa markatutako multimedia
         setting_display_media_hide_all: Ezkutatu multimedia guztia beti
         setting_display_media_show_all: Erakutsi beti hunkigarri gisa markatutako multimedia
         setting_hide_network: Nor jarraitzen duzun eta nork jarraitzen zaituen ez da bistaratuko zure profilean
         setting_noindex: Zure profil publiko eta Toot-en orrietan eragina du
         setting_show_application: Tootak bidaltzeko erabiltzen duzun aplikazioa zure tooten ikuspegi xehetsuan bistaratuko da
-        setting_theme: Edozein gailutik konektatzean Mastodon-en itxuran eragiten du.
         username: Zure erabiltzaile-izena bakana izango da %{domain} domeinuan
         whole_word: Hitz eta esaldi gakoa alfanumerikoa denean, hitz osoarekin bat datorrenean besterik ez da aplikatuko
       featured_tag:
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index b7ba444aa..543642866 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -27,14 +27,12 @@ fa:
         phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوق‌ها مقایسه می‌شود
         scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید.
         setting_aggregate_reblogs: برای بازبوق‌هایی که به تازگی برایتان نمایش داده شده‌اند، بازبوق‌های بیشتر را نشان نده (فقط روی بازبوق‌های اخیر تأثیر می‌گذارد)
-        setting_default_language: زبان نوشته‌های شما به طور خودکار تشخیص داده می‌شود، ولی این تشخیص همیشه دقیق نیست
         setting_display_media_default: تصویرهایی را که به عنوان حساس علامت زده شده‌اند پنهان کن
         setting_display_media_hide_all: همیشه همهٔ عکس‌ها و ویدیوها را پنهان کن
         setting_display_media_show_all: همیشه تصویرهایی را که به عنوان حساس علامت زده شده‌اند را نشان بده
         setting_hide_network: فهرست پیگیران شما و فهرست کسانی که شما پی می‌گیرید روی نمایهٔ شما دیده نخواهد شد
         setting_noindex: روی نمایهٔ عمومی و صفحهٔ نوشته‌های شما تأثیر می‌گذارد
         setting_show_application: برنامه‌ای که به کمک آن بوق می‌زنید، در جزئیات بوق شما نمایش خواهد یافت
-        setting_theme: ظاهر ماستدون را وقتی که از هر دستگاهی به آن وارد می‌شوید تعیین می‌کند.
         username: نام کاربری شما روی %{domain} یکتا خواهد بود
         whole_word: اگر کلیدواژه فقط دارای حروف و اعداد باشد، تنها وقتی پیدا می‌شود که با کل یک واژه در متن منطبق باشد، نه با بخشی از یک واژه
       featured_tag:
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index 5fda10969..c44925b35 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -12,7 +12,6 @@ fi:
         header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
         locked: Sinun täytyy hyväksyä seuraajat manuaalisesti
         setting_noindex: Vaikuttaa julkiseen profiiliisi ja tilasivuihisi
-        setting_theme: Vaikuttaa Mastodonin ulkoasuun millä tahansa laitteella kirjauduttaessa.
       imports:
         data: Toisesta Mastodon-instanssista tuotu CSV-tiedosto
       sessions:
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index e2121098a..26f8d1a5a 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -27,14 +27,12 @@ fr:
         phrase: Sera trouvé sans que la case ou l’avertissement de contenu du pouet soit pris en compte
         scopes: À quelles APIs l’application sera autorisée à accéder. Si vous sélectionnez un périmètre de haut-niveau, vous n’avez pas besoin de sélectionner les individuels.
         setting_aggregate_reblogs: Ne pas afficher de nouveaux repartagés pour les pouets qui ont été récemment repartagés (n’affecte que les repartagés nouvellement reçus)
-        setting_default_language: La langue de vos pouets peut être détectée automatiquement, mais ça n’est pas toujours pertinent
         setting_display_media_default: Masquer les supports marqués comme sensibles
         setting_display_media_hide_all: Toujours masquer tous les médias
         setting_display_media_show_all: Toujours afficher les médias marqués comme sensibles
         setting_hide_network: Ceux que vous suivez et ceux qui vous suivent ne seront pas affichés sur votre profil
         setting_noindex: Affecte votre profil public ainsi que vos statuts
         setting_show_application: Le nom de l’application que vous utilisez afin d’envoyer des pouets sera affiché dans la vue détaillée de ceux-ci
-        setting_theme: Affecte l’apparence de Mastodon quand vous êtes connecté·e depuis n’importe quel appareil.
         username: Votre nom d’utilisateur sera unique sur %{domain}
         whole_word: Lorsque le mot-clef ou la phrase-clef est uniquement alphanumérique, ça sera uniquement appliqué s’il correspond au mot entier
       featured_tag:
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index 434b8caff..c06f027ad 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -27,14 +27,12 @@ gl:
         phrase: Concordará independentemente das maiúsculas ou avisos de contido no toot
         scopes: A que APIs terá acceso a aplicación. Si selecciona un ámbito de alto nivel, non precisa seleccionar elementos individuais.
         setting_aggregate_reblogs: Non mostrar novas promocións de toots que foron promocionados recentemente (só afecta a promocións recén recibidas)
-        setting_default_language: Pódese detectar automáticamente o idioma dos seus toots, mais non sempre é preciso
         setting_display_media_default: Ocultar medios marcados como sensibles
         setting_display_media_hide_all: Ocultar sempre os medios
         setting_display_media_show_all: Mostrar sempre os medios marcados como sensibles
         setting_hide_network: Non se mostrará no seu perfil quen a segue e quen a está a seguir
         setting_noindex: Afecta ao seu perfil público e páxinas de estado
         setting_show_application: A aplicación que está a utilizar para enviar toots mostrarase na vista detallada do toot
-        setting_theme: Afecta ao aspecto de Mastodon en calquer dispositivo cando está conectada.
         username: O seu nome de usuaria será único en %{domain}
         whole_word: Se a chave ou frase de paso é só alfanumérica, só se aplicará se concorda a palabra completa
       featured_tag:
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index c86498c66..6fda0a057 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -8,7 +8,6 @@ he:
         header: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן %{dimensions}px
         locked: מחייב אישור עוקבים באופן ידני. פרטיות ההודעות תהיה עוקבים-בלבד אלא אם יצוין אחרת
         setting_noindex: משפיע על הפרופיל הציבורי שלך ועמודי ההודעות
-        setting_theme: משפיע על המראה של מסטודון בעת החיבור המזוהה מכל מכשיר שהוא.
       imports:
         data: קובץ CSV שיוצא משרת מסטודון אחר
       sessions:
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index f36fabda1..db62b580f 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -8,7 +8,6 @@ hu:
         header: PNG, GIF vagy JPG. Maximum %{size}. Át lesz méretezve %{dimensions} pixelre
         locked: Egyenként engedélyezned kell a követőidet
         setting_noindex: A publikus profilodra és státusz oldalra vonatkozik
-        setting_theme: A bármely eszközről bejelentkezett felület kinézetére vonatkozik.
       imports:
         data: Egy másik Mastodon szerverről exportált CSV fájl
       sessions:
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 9061844fe..fd1bc9597 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -27,14 +27,12 @@ it:
         phrase: Il confronto sarà eseguito ignorando minuscole/maiuscole e i content warning
         scopes: A quali API l'applicazione potrà avere accesso. Se selezionate un ambito di alto livello, non c'è bisogno di selezionare quelle singole.
         setting_aggregate_reblogs: Non mostrare nuove condivisioni per toot che sono stati condivisi di recente (ha effetto solo sulle nuove condivisioni)
-        setting_default_language: La lingua dei tuoi toot può essere individuata automaticamente, ma il risultato non è sempre accurato
         setting_display_media_default: Nascondi media segnati come sensibili
         setting_display_media_hide_all: Nascondi sempre tutti i media
         setting_display_media_show_all: Nascondi sempre i media segnati come sensibili
         setting_hide_network: Chi segui e chi segue te non saranno mostrati sul tuo profilo
         setting_noindex: Ha effetto sul tuo profilo pubblico e sulle pagine degli status
         setting_show_application: L'applicazione che usi per pubblicare i toot sarà mostrata nella vista di dettaglio dei tuoi toot
-        setting_theme: Ha effetto sul modo in cui Mastodon verrà visualizzato quando sarai collegato da qualsiasi dispositivo.
         username: Il tuo nome utente sarà unico su %{domain}
         whole_word: Quando la parola chiave o la frase è solo alfanumerica, si applica solo se corrisponde alla parola intera
       featured_tag:
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index 221d797e9..ff3dcd043 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -26,16 +26,13 @@ ja:
         password: 少なくとも8文字は入力してください
         phrase: トゥートの大文字小文字や閲覧注意に関係なく一致
         scopes: アプリの API に許可するアクセス権を選択してください。最上位のスコープを選択する場合、個々のスコープを選択する必要はありません。
-        setting_advanced_layout: 上級者向け UI はカスタマイズ可能な複数のカラムで構成されています
         setting_aggregate_reblogs: 最近ブーストされたトゥートが新たにブーストされても表示しません (設定後受信したものにのみ影響)
-        setting_default_language: トゥートの言語は自動的に検出されますが、必ずしも正確とは限りません
         setting_display_media_default: 閲覧注意としてマークされたメディアは隠す
         setting_display_media_hide_all: 全てのメディアを常に隠す
         setting_display_media_show_all: 閲覧注意としてマークされたメディアも常に表示する
         setting_hide_network: フォローとフォロワーの情報がプロフィールページで見られないようにします
         setting_noindex: 公開プロフィールおよび各投稿ページに影響します
         setting_show_application: トゥートするのに使用したアプリがトゥートの詳細ビューに表示されるようになります
-        setting_theme: ログインしている全てのデバイスで適用されるデザインです。
         username: あなたのユーザー名は %{domain} の中で重複していない必要があります
         whole_word: キーワードまたはフレーズが英数字のみの場合、単語全体と一致する場合のみ適用されるようになります
       featured_tag:
diff --git a/config/locales/simple_form.ka.yml b/config/locales/simple_form.ka.yml
index 6bccb3134..55a940d78 100644
--- a/config/locales/simple_form.ka.yml
+++ b/config/locales/simple_form.ka.yml
@@ -16,10 +16,8 @@ ka:
         locked: საჭიროებს თქვენ მიერ მიმდევრების ხელით დადასტურებას
         phrase: დამთხვევა მოხდება დიდი და პატარა ასოების ან კონტენტის გაფრთხილების გათვალისწინების გარეშე
         scopes: რომელი აპიებისადმი ექნება აპლიკაციას ცვდომა. თუ არიჩევთ უმთავრეს ფარგლებს, არ დაგჭირდებათ ინდივიდუალურების ამორჩევა.
-        setting_default_language: თქვენი ტუტების ენა შეიძლება დადგინდეს ავტომატურად, მაგრამ ეს არაა ყოველთვის ზუსტი
         setting_hide_network: ვის მიყვებით და ვინ მოგყვებათ არ გამოჩნდება აქ
         setting_noindex: გავლენას ახდენს თქვენს ღია პროფილისა და სტატუსის გვერდებზე
-        setting_theme: გავლენას ახდენს თუ როგორ გამოიყურება მასტოდონი, როდესაც შესული ხართ რომელიმე მოწყობილობიდან.
         whole_word: როდესაც სიტყვა ან ფრაზა მხოლოდ ალფა-ნუმერიკულია, ის დაფიქსირდება თუ ემთხვევა სრულ სიტყვას
       imports:
         data: ცსვ ფაილის ექსპორტი მოხდა მასტოდონის სხვა ინსტანციიდან
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index ccb7604e1..6d3f1b679 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -26,16 +26,13 @@ ko:
         password: 최소 8글자
         phrase: 툿 내용이나 CW 내용 안에서 대소문자 구분 없이 매칭 됩니다
         scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다.
-        setting_advanced_layout: 고급 UI는 여러 개의 커스텀 가능한 컬럼을 제공합니다.
         setting_aggregate_reblogs: 내가 부스트 했던 툿은 새로 부스트 되어도 보여주지 않습니다
-        setting_default_language: 작성한 툿의 언어는 자동으로 인식할 수 있지만, 언제나 정확한 건 아닙니다
         setting_display_media_default: 민감함으로 설정 된 미디어 가리기
         setting_display_media_hide_all: 항상 모든 미디어를 가리기
         setting_display_media_show_all: 민감함으로 설정 된 미디어를 항상 보이기
         setting_hide_network: 나를 팔로우 하는 사람들과 내가 팔로우 하는 사람들이 내 프로필에 표시되지 않게 합니다
         setting_noindex: 공개 프로필 및 각 툿페이지에 영향을 미칩니다
         setting_show_application: 당신이 툿을 작성하는데에 사용한 앱이 툿의 상세정보에 표시 됩니다
-        setting_theme: 로그인중인 모든 디바이스에 적용되는 디자인입니다.
         username: 당신의 유저네임은 %{domain} 안에서 유일해야 합니다
         whole_word: 키워드가 영문과 숫자로만 이루어 진 경우, 단어 전체에 매칭 되었을 때에만 작동하게 합니다
       featured_tag:
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 09bd4e856..d9607f5b6 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -27,14 +27,12 @@ nl:
         phrase: Komt overeen ongeacht hoofd-/kleine letters of tekstwaarschuwingen
         scopes: Tot welke API's heeft de toepassing toegang. Wanneer je een toestemming van het bovenste niveau kiest, hoef je geen individuele toestemmingen meer te kiezen.
         setting_aggregate_reblogs: Geen nieuwe boosts tonen voor toots die recentelijk nog zijn geboost (heeft alleen effect op nieuw ontvangen boosts)
-        setting_default_language: De taal van jouw toots kan automatisch worden gedetecteerd, maar het is niet altijd accuraat
         setting_display_media_default: Als gevoelig gemarkeerde media verbergen
         setting_display_media_hide_all: Media altijd verbergen
         setting_display_media_show_all: Als gevoelig gemarkeerde media altijd verbergen
         setting_hide_network: Wie jij volgt en wie jou volgen wordt niet op jouw profiel getoond
         setting_noindex: Heeft invloed op jouw openbare profiel en toots
         setting_show_application: De toepassing de je gebruikt om te tooten wordt in de gedetailleerde weergave van de toot getoond
-        setting_theme: Heeft invloed op hoe de webapp van Mastodon eruitziet (op elk apparaat waarmee je inlogt).
         username: Jouw gebruikersnaam is uniek op %{domain}
         whole_word: Wanneer het trefwoord of zinsdeel alfanumeriek is, wordt het alleen gefilterd wanneer het hele woord overeenkomt
       featured_tag:
diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml
index fc339c3f2..e35bdabcc 100644
--- a/config/locales/simple_form.no.yml
+++ b/config/locales/simple_form.no.yml
@@ -8,7 +8,6 @@
         header: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px
         locked: Krever at du manuelt godkjenner følgere
         setting_noindex: Påvirker din offentlige profil og statussider
-        setting_theme: Påvirker hvordan Mastodon ser ut når du er logget inn fra uansett enhet.
       imports:
         data: CSV-fil eksportert fra en annen Mastodon-instans
       sessions:
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index 3efaa34df..ba6a7782a 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -27,14 +27,12 @@ oc:
         phrase: Serà pres en compte que siá en majuscula o minuscula o dins un avertiment de contengut sensible
         scopes: A quinas APIs poiràn accedir las aplicacions. Se seleccionatz un encastre de naut nivèl, fa pas mestièr de seleccionar los nivèls mai basses.
         setting_aggregate_reblogs: Mostrar pas los nòus partatges que son estats partejats recentament (afecta pas que los nòus partatges recebuts)
-        setting_default_language: La lenga de vòstres tuts pòt èsser detectada automaticament, mas de còps es pas corrèctament determinada
         setting_display_media_default: Rescondre los mèdias marcats coma sensibles
         setting_display_media_hide_all: Totjorn rescondre los mèdias
         setting_display_media_show_all: Totjorn mostrar los mèdias marcats coma sensibles
         setting_hide_network: Vòstre perfil mostrarà pas los que vos sègon e lo monde que seguètz
         setting_noindex: Aquò es destinat a vòstre perfil public e vòstra pagina d’estatuts
         setting_show_application: Lo nom de l’aplicacion qu’utilizatz per publicar serà mostrat dins la vista detalhada de vòstres tuts
-        setting_theme: Aquò càmbia lo tèma grafic de Mastodon quand sètz connectat qual que siasque lo periferic.
         username: Vòstre nom d’utilizaire serà unic sus %{domain}
         whole_word: Quand lo mot-clau o frasa es solament alfranumeric, serà pas qu’aplicat se correspond al mot complèt
       featured_tag:
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index e1cbee91c..af02af591 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -27,14 +27,12 @@ pl:
         phrase: Zostanie wykryte nawet, gdy znajduje się za ostrzeżeniem o zawartości
         scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów.
         setting_aggregate_reblogs: Nie pokazuj nowych podbić dla wpisów, które zostały niedawno podbite (dotyczy tylko nowo otrzymanych podbić)
-        setting_default_language: Język Twoich wpisów może być wykrywany automatycznie, ale nie zawsze jest to dokładne
         setting_display_media_default: Ukrywaj zawartość oznaczoną jako wrażliwa
         setting_display_media_hide_all: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
         setting_display_media_show_all: Nie ukrywaj zawartości multimedialnej oznaczonej jako wrażliwa
         setting_hide_network: Informacje o tym, kto Cię śledzi i kogo śledzisz nie będą widoczne
         setting_noindex: Wpływa na widoczność strony profilu i Twoich wpisów
         setting_show_application: W informacjach o wpisie będzie widoczna informacja o aplikacji, z której został wysłany
-        setting_theme: Zmienia wygląd Mastodona po zalogowaniu z dowolnego urządzenia.
         username: Twoja nazwa użytkownika będzie niepowtarzalna na %{domain}
         whole_word: Jeśli słowo lub fraza składa się jedynie z liter lub cyfr, filtr będzie zastosowany tylko do pełnych wystąpień
       featured_tag:
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 734bd21d0..74ad6ed4e 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -27,14 +27,12 @@ pt-BR:
         phrase: Vai coincidir, independente de maiúsculas ou minúsculas, no texto ou no aviso de conteúdo de um toot
         scopes: Quais APIs a aplicação vai ter permissão de acessar. Se você selecionar um escopo de alto nível, você não precisa selecionar individualmente os outros.
         setting_aggregate_reblogs: Não mostrar novos compartilhamentos para toots que foram compartilhados recentemente (afeta somente novos compartilhamentos recebidos)
-        setting_default_language: O idioma de seus toots pode ser detectado automaticamente, mas isso nem sempre é preciso
         setting_display_media_default: Esconder mídia marcada como sensível
         setting_display_media_hide_all: Sempre esconder todas as mídias
         setting_display_media_show_all: Sempre mostrar mídia marcada como sensível
         setting_hide_network: Quem você segue e quem segue você não serão exibidos no seu perfil
         setting_noindex: Afeta seu perfil público e as páginas de suas postagens
         setting_show_application: A aplicação que você usar para enviar seus toots vai aparecer na visão detalhada dos seus toots
-        setting_theme: Afeta a aparência do Mastodon quando em sua conta em qualquer aparelho.
         username: Seu nome de usuário será único em %{domain}
         whole_word: Quando a palavra ou frase é inteiramente alfanumérica, ela será aplicada somente se corresponder a palavra inteira
       featured_tag:
diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml
index 589f5cf5c..5f9e522fe 100644
--- a/config/locales/simple_form.pt.yml
+++ b/config/locales/simple_form.pt.yml
@@ -27,14 +27,12 @@ pt:
         phrase: Será correspondido independentemente da capitalização ou do aviso de conteúdo duma publicação
         scopes: Quais as APIs a que será concedido acesso. Se escolheres uma abrangência de nível superior, não precisarás de as seleccionar individualmente.
         setting_aggregate_reblogs: Não mostrar novas partilhas que foram partilhadas recentemente (só afecta as novas partilhas)
-        setting_default_language: A língua das tuas publicações pode ser detectada automaticamente, mas isso nem sempre é preciso
         setting_display_media_default: Esconder media marcada como sensível
         setting_display_media_hide_all: Esconder sempre toda a media
         setting_display_media_show_all: Mostrar sempre a media marcada como sensível
         setting_hide_network: Quem tu segues e quem te segue não será mostrado no teu perfil
         setting_noindex: Afecta o teu perfil público e as páginas das tuas publicações
         setting_show_application: A aplicação que tu usas para publicar será mostrada na vista detalhada das tuas publicações
-        setting_theme: Afecta a aparência do Mastodon quando entras na tua conta em qualquer dispositivo.
         username: O teu nome de utilizador será único em %{domain}
         whole_word: Quando a palavra-chave ou expressão-chave é somente alfanumérica, ela só será aplicada se corresponder à palavra completa
       featured_tag:
diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml
index 757b87204..e104d9a4e 100644
--- a/config/locales/simple_form.ro.yml
+++ b/config/locales/simple_form.ro.yml
@@ -27,13 +27,11 @@ ro:
         phrase: Vor fi potrivite indiferent de textul din casetă sau advertismentul unei postări
         scopes: La care API-uri aplicația are nevoie de acces. Dacă selectezi un scop principal nu mai e nevoie să selectezi fiecare sub-scop al acestuia.
         setting_aggregate_reblogs: Nu afișa redistribuirile noi pentru postările care au fost deja recent redistribuite (afectează doar noile redistribuiri primite)
-        setting_default_language: Limba postărilor tale poate fi detectată automat, dar nu este întotdeauna precisă
         setting_display_media_default: Ascunde conținutul media marcat ca sensibil (NSFW)
         setting_display_media_hide_all: Întotdeauna ascunde tot conținutul media
         setting_display_media_show_all: Întotdeauna afișează conținutul media marcat ca sensibil
         setting_hide_network: Pe cine urmărești și cine te urmărește nu vor fi afișați pe profilul tău
         setting_noindex: Afecteazâ profilul tău public și statusurile tale
-        setting_theme: Afecteazâ modul în care arată interfața pe toate dispozitivele pe care ești conectat.
         username: Numele tău de utilizator va fi unic pe %{domain}
         whole_word: Când fraza sau cuvântul este doar alfanumeric, acesta se aplică doar dacă există o potrivire completă
       imports:
diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml
index 4196076a9..3b7a92f46 100644
--- a/config/locales/simple_form.ru.yml
+++ b/config/locales/simple_form.ru.yml
@@ -27,14 +27,12 @@ ru:
         phrase: Будет сопоставлено независимо от присутствия в тексте или предупреждения о содержании статуса
         scopes: Какие API приложению будет позволено использовать. Если вы выберете самый верхний, нижестоящие будут выбраны автоматически.
         setting_aggregate_reblogs: Не показывать новые продвижения статусов, которые уже были недавно продвинуты (относится только к новым продвижениям)
-        setting_default_language: Язык ваших статусов может быть определён автоматически, но не всегда правильно
         setting_display_media_default: Скрывать чувствительные медиафайлы
         setting_display_media_hide_all: Всегда скрывать любые медиафайлы
         setting_display_media_show_all: Всегда показывать чувствительные медиафайлы
         setting_hide_network: Те, на кого вы подписаны и кто подписан на Вас, не будут отображены в вашем профиле
         setting_noindex: Относится к вашему публичному профилю и страницам статусов
         setting_show_application: В окне просмотра вашего статуса будет видно, с какого приложения он был отправлен
-        setting_theme: Влияет на внешний вид Mastodon при выполненном входе в аккаунт.
         username: Ваш юзернейм будет уникальным на %{domain}
         whole_word: Если слово или фраза состоит только из букв и цифр, сопоставление произойдёт только по полному совпадению
       featured_tag:
diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml
index c6de0009d..5314b5535 100644
--- a/config/locales/simple_form.sk.yml
+++ b/config/locales/simple_form.sk.yml
@@ -26,16 +26,13 @@ sk:
         password: Zadaj aspoň osem znakov
         phrase: Zhoda sa nájde nezávisle od toho, či je text napísaný, veľkými, alebo malými písmenami, či už v tele, alebo v hlavičke
         scopes: Ktoré API budú povolené aplikácii pre prístup. Ak vyberieš vrcholný stupeň, nemusíš už potom vyberať po jednom.
-        setting_advanced_layout: Pokročilé užívateľské rozhranie sa skladá z viacero prispôsobiteľných stĺpcov
         setting_aggregate_reblogs: Nezobrazuj nové vyzdvihnutia pre príspevky, ktoré už boli len nedávno povýšené (týka sa iba nanovo získaných povýšení)
-        setting_default_language: Jazyk tvojích príspevkov môže byť zistený automaticky, ale nieje to vždy presné
         setting_display_media_default: Skry médiá označené ako citlivé
         setting_display_media_hide_all: Vždy ukry všetky médiá
         setting_display_media_show_all: Stále zobrazuj médiá označené ako citlivé
         setting_hide_network: Koho následuješ, a kto následuje teba, nebude zobrazené na tvojom profile
         setting_noindex: Ovplyvňuje verejný profil a stránky s príspevkami
         setting_show_application: Aplikácia, ktorú používaš na písanie príspevkov, bude zobrazená v podrobnom náhľade jednotlivých tvojích príspevkov
-        setting_theme: Ovplyvňuje ako Mastodon vyzerá pri prihlásení z hociakého zariadenia.
         username: Tvoja prezývka bude unikátna pre server %{domain}
         whole_word: Ak je kľúčové slovo, alebo fráza poskladaná iba s písmen a čísel, bude použité iba ak sa zhoduje s celým výrazom
       featured_tag:
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index 781485864..6e07d9b00 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -18,13 +18,11 @@ sl:
         password: Uporabite najmanj 8 znakov
         phrase: Se bo ujemal, ne glede na začetnice v tekstu ali opozorilo o vsebini troba
         scopes: Do katerih API-jev bo imel program dostop. Če izberete obseg najvišje ravni, vam ni treba izbrati posameznih.
-        setting_default_language: Jezik vaših trobov je lahko samodejno zaznan, vendar ni vedno pravilen
         setting_display_media_default: Skrij medij, ki je označen kot občutljiv
         setting_display_media_hide_all: Vedno skrij vse medije
         setting_display_media_show_all: Vedno pokaži medij, ki je označen kot občutljiv
         setting_hide_network: Kogar spremljate in kdo vas spremlja ne bo prikazano na vašem profilu
         setting_noindex: Vpliva na vaš javni profil in na strani s stanjem
-        setting_theme: Vpliva na to, kako izgleda Mastodon, ko ste prijavljeni s katero koli napravo.
         username: Vaše uporabniško ime bo edinstveno na %{domain}
         whole_word: Ko je ključna beseda ali fraza samo alfanumerična, se bo uporabljala le, če se bo ujemala s celotno besedo
       imports:
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index c3feee575..c1907abec 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -27,14 +27,12 @@ sq:
         phrase: Do të kërkohet përputhje pavarësish se teksti ose sinjalizimi mbi lëndën e një mesazhi është shkruar me të mëdha apo me të vogla
         scopes: Cilat API do të lejohet të përdorë aplikacioni. Nëse përzgjidhni një shkallë të epërme, nuk ju duhet të përzgjidhni individualet një nga një.
         setting_aggregate_reblogs: Mos shfaq përforcime të reja për mesazhe që janë përforcuar tani së fundi (prek vetëm përforcime të marra rishtas)
-        setting_default_language: Gjuha e mesazheve tuaj do të zbulohet vetvetiu, por mund të mos jetë përherë e saktë
         setting_display_media_default: Fshih media me shenjën rezervat
         setting_display_media_hide_all: Fshih përherë krejt mediat
         setting_display_media_show_all: Mediat me shenjën rezervat shfaqi përherë
         setting_hide_network: Cilët ndiqni dhe cilët ju ndjekin nuk do të shfaqen në profilin tuaj
         setting_noindex: Prek faqet e profilit tuaj publik dhe gjendjeve
         setting_show_application: Aplikacioni që përdorni për mesazhe do të shfaqet te pamja e hollësishme për mesazhet tuaj
-        setting_theme: Lidhet me se si duket Mastodon-i kur jeni i futur nga çfarëdo pajisje.
         username: Emri juaj i përdoruesit do të jetë unik në %{domain}
         whole_word: Kur fjalëkyçi ose fraza është vetëm numerike, do të aplikohet vetëm nëse përputhet me krejt fjalën
       featured_tag:
diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml
index eac64988f..1c21ac49e 100644
--- a/config/locales/simple_form.sr-Latn.yml
+++ b/config/locales/simple_form.sr-Latn.yml
@@ -8,7 +8,6 @@ sr-Latn:
         header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px
         locked: Zahteva da pojedinačno odobrite pratioce
         setting_noindex: Utiče na Vaš javni profil i statusne strane
-        setting_theme: Utiče kako će Mastodont izgledati kada ste prijavljeni sa bilo kog uređaja.
       imports:
         data: CSV fajl izvezen sa druge Mastodont instance
       sessions:
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index 7e3c6685e..f7413fd17 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -27,13 +27,11 @@ sr:
         phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају трубе
         scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
         setting_aggregate_reblogs: Не показуј нова дељења за трубе које су недавно подељене (утиче само на недавно примљена дељења)
-        setting_default_language: Језик ваших труба може бити аутоматски откривен, али није увек прецизан
         setting_display_media_default: Сакриј медије означене као осетљиве
         setting_display_media_hide_all: Увек сакриј све медије
         setting_display_media_show_all: Увек прикажи медије означене као осетљиве
         setting_hide_network: Кога пратите и ко вас прати неће бити приказано на вашем профилу
         setting_noindex: Утиче на Ваш јавни профил и статусне стране
-        setting_theme: Утиче како ће Мастодонт изгледати када сте пријављени са било ког уређаја.
         username: Ваш надимак ће бити јединствен на %{domain}
         whole_word: Када је кључна реч или фраза искључиво алфанумеричка, биће примењена само ако се подудара са целом речи
       imports:
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index 62d0b3769..e7ed33d0b 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -19,10 +19,8 @@ sv:
         locale: Användargränssnittets språk, e-post och push-aviseringar
         locked: Kräver att du manuellt godkänner följare
         password: Använd minst 8 tecken
-        setting_default_language: Språket av dina inlägg kan upptäckas automatiskt, men det är inte alltid rätt
         setting_hide_network: Vem du följer och vilka som följer dig kommer inte att visas på din profilsida
         setting_noindex: Påverkar din offentliga profil och statussidor
-        setting_theme: Påverkar hur Mastodon ser ut oavsett från vilken enhet du är inloggad.
       imports:
         data: CSV-fil som exporteras från en annan Mastodon-instans
       sessions:
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index bce5eaac6..5f40b05a7 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -27,14 +27,12 @@ th:
         phrase: จะถูกจับคู่โดยไม่คำนึงถึงตัวอักษรใหญ่เล็กในข้อความหรือคำเตือนเนื้อหาของโพสต์
         scopes: API ใดที่แอปพลิเคชันจะได้รับอนุญาตให้เข้าถึง หากคุณเลือกขอบเขตระดับบนสุด คุณไม่จำเป็นต้องเลือกแต่ละขอบเขต
         setting_aggregate_reblogs: ไม่แสดงการดันใหม่สำหรับโพสต์ที่เพิ่งดัน (มีผลต่อการดันที่ได้รับใหม่เท่านั้น)
-        setting_default_language: สามารถตรวจพบภาษาของโพสต์ของคุณโดยอัตโนมัติ แต่อาจไม่แม่นยำเสมอไป
         setting_display_media_default: ซ่อนสื่อที่ถูกทำเครื่องหมายว่าละเอียดอ่อน
         setting_display_media_hide_all: ซ่อนสื่อทั้งหมดเสมอ
         setting_display_media_show_all: แสดงสื่อที่ถูกทำเครื่องหมายว่าละเอียดอ่อนเสมอ
         setting_hide_network: จะไม่แสดงผู้ที่คุณติดตามและผู้ที่ติดตามคุณในโปรไฟล์ของคุณ
         setting_noindex: มีผลต่อโปรไฟล์สาธารณะและหน้าสถานะของคุณ
         setting_show_application: จะแสดงผลแอปพลิเคชันที่คุณใช้เพื่อโพสต์ในมุมมองโดยละเอียดของโพสต์ของคุณ
-        setting_theme: มีผลต่อลักษณะของ Mastodon เมื่อคุณเข้าสู่ระบบจากอุปกรณ์ใด ๆ
         username: ชื่อผู้ใช้ของคุณจะไม่ซ้ำกันบน %{domain}
         whole_word: เมื่อคำสำคัญหรือวลีมีแค่ตัวอักษรและตัวเลข จะถูกใช้หากตรงกันทั้งคำเท่านั้น
       featured_tag:
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index cfa6840a6..eaed42aba 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -11,10 +11,8 @@ zh-CN:
         header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px
         locale: 用户界面、电子邮件和推送通知中使用的语言
         locked: 你需要手动审核所有关注请求
-        setting_default_language: 嘟文语言自动检测的结果有可能不准确(此设置仅影响你的嘟文)
         setting_hide_network: 你关注的人和关注你的人将不会在你的个人资料页上展示
         setting_noindex: 此设置会影响到你的公开个人资料以及嘟文页面
-        setting_theme: 此设置会影响到所有已登录设备上 Mastodon 的显示样式
       imports:
         data: 请上传从其他 Mastodon 实例导出的 CSV 文件
       sessions:
diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml
index e28f935c2..08dcb4ad0 100644
--- a/config/locales/simple_form.zh-HK.yml
+++ b/config/locales/simple_form.zh-HK.yml
@@ -11,10 +11,8 @@ zh-HK:
         header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px
         locale: 使用者介面、電郵和通知的語言
         locked: 你必須人手核准每個用戶對你的關注請求,而你的文章私隱會被預設為「只有關注你的人能看」
-        setting_default_language: 你文章的語言會被自動偵測,但不一定完全準確
         setting_hide_network: 你關注的人和關注你的人將不會在你的個人資料頁上顯示
         setting_noindex: 此設定會影響到你的公開個人資料以及文章頁面
-        setting_theme: 此設置會影響到你從任意設備登入時 Mastodon 的顯示樣式。
       imports:
         data: 自其他服務站匯出的 CSV 檔案
       sessions:
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index 61d07825c..bba868997 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -27,14 +27,12 @@ zh-TW:
         phrase: 無論是嘟文的本文或是內容警告都會被過濾
         scopes: 允許讓應用程式存取的 API。 若您選擇最高階範圍,則無須選擇個別項目。
         setting_aggregate_reblogs: 請勿顯示最近已被轉嘟之嘟文的最新轉嘟(只影響最新收到的嘟文)
-        setting_default_language: 您嘟文的語言可被自動偵測,但不一定每次都準確
         setting_display_media_default: 隱藏標為敏感的媒體
         setting_display_media_hide_all: 總是隱藏所有媒體
         setting_display_media_show_all: 總是顯示標為敏感的媒體
         setting_hide_network: 你關注的人與關注你的人將不會在你的個人資料頁上顯示
         setting_noindex: 會影響您的公開個人資料與嘟文頁面
         setting_show_application: 您用來發嘟文的應用程式將會在您嘟文的詳細檢視顯示
-        setting_theme: 會影響從任何裝置登入所看到的 Mastodon 樣式。
         username: 您的使用者名稱將在 %{domain} 是獨一無二的
         whole_word: 如果關鍵字或詞組僅有字母與數字,則其將只在符合整個單字的時候才會套用
       featured_tag:
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 778a8f42f..412f283b8 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -760,10 +760,7 @@ sk:
       too_few_options: musí mať viac ako jednu položku
       too_many_options: nemôže zahŕňať viac ako %{max} položiek
   preferences:
-    languages: Jazyky
     other: Ostatné
-    publishing: Publikovanie
-    web: Web
   remote_follow:
     acct: Napíš svoju prezývku@doménu z ktorej chceš následovať
     missing_resource: Nemožno nájsť potrebnú presmerovaciu adresu k tvojmu účtu
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index ea36a2189..ea3a23834 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -702,10 +702,7 @@ sq:
     prev: I mëparshmi
     truncate: "&hellip;"
   preferences:
-    languages: Gjuhë
     other: Tjetër
-    publishing: Publikim
-    web: Web
   remote_follow:
     acct: Jepni çiftin tuaj emërpërdoruesi@përkatësi prej të cilit doni që të veprohet
     missing_resource: S’u gjet dot URL-ja e domosdoshme e ridrejtimit për llogarinë tuaj
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index 2292b6a7f..3bbb79592 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -464,10 +464,7 @@ sr-Latn:
     prev: Prethodni
     truncate: "&hellip;"
   preferences:
-    languages: Jezici
     other: Ostali
-    publishing: Objavljivanje
-    web: Veb
   remote_follow:
     acct: Unesite Vaš korisnik@domen sa koga želite da pratite
     missing_resource: Ne mogu da nađem zahtevanu adresu preusmeravanja za Vaš nalog
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 2bf9001ce..8c94b0989 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -714,10 +714,7 @@ sr:
     prev: Претходни
     truncate: "&hellip;"
   preferences:
-    languages: Језици
     other: Остало
-    publishing: Објављивање
-    web: Веб
   remote_follow:
     acct: Унесите Ваш корисник@домен са кога желите да пратите
     missing_resource: Не могу да нађем захтевану адресу преусмеравања за Ваш налог
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index 91d4c2496..c235fc889 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -535,10 +535,7 @@ sv:
     prev: Tidigare
     truncate: "&hellip;"
   preferences:
-    languages: Språk
     other: Annat
-    publishing: Publicering
-    web: Webb
   remote_follow:
     acct: Ange ditt användarnamn@domän du vill följa från
     missing_resource: Det gick inte att hitta den begärda omdirigeringsadressen för ditt konto
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 2ebd6c7f1..29199889a 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -543,10 +543,7 @@ th:
     prev: ก่อนหน้า
     truncate: "&hellip;"
   preferences:
-    languages: ภาษา
     other: อื่น ๆ
-    publishing: การเผยแพร่
-    web: เว็บ
   relationships:
     activity: กิจกรรมบัญชี
     relationship: ความสัมพันธ์
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index a582b2385..7b7153f21 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -582,10 +582,7 @@ uk:
     prev: Назад
     truncate: "&hellip;"
   preferences:
-    languages: Мови
     other: Інше
-    publishing: Публікація
-    web: Веб
   remote_follow:
     acct: Введіть username@domain, яким ви хочете підписатися
     missing_resource: Пошук потрібного перенаправлення URL для Вашого аккаунта закінчився невдачею
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index ae49c0537..3b0bc6caf 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -604,10 +604,7 @@ zh-CN:
     prev: 上一页
     truncate: "&hellip;"
   preferences:
-    languages: 语言
     other: 其他
-    publishing: 发布
-    web: 站内
   remote_follow:
     acct: 请输入你的“用户名@实例域名”
     missing_resource: 无法确定你的帐户的跳转 URL
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index aade1debb..fa6af4d61 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -532,10 +532,7 @@ zh-HK:
     prev: 上一頁
     truncate: "……"
   preferences:
-    languages: 語言
     other: 其他
-    publishing: 發佈
-    web: 站内
   remote_follow:
     acct: 請輸入你的︰用戶名稱@服務點域名
     missing_resource: 無法找到你用戶的轉接網址
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 988357e1b..3dd122f8a 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -609,10 +609,7 @@ zh-TW:
     prev: 上一頁
     truncate: ''
   preferences:
-    languages: 語言
     other: 其他
-    publishing: 發佈
-    web: 站內
   remote_follow:
     acct: 請輸入您的使用者名稱@站點網域
     missing_resource: 無法找到資源
diff --git a/config/navigation.rb b/config/navigation.rb
index c2a8e45ce..45e5bc562 100644
--- a/config/navigation.rb
+++ b/config/navigation.rb
@@ -10,7 +10,12 @@ SimpleNavigation::Configuration.run do |navigation|
       s.item :identity_proofs, safe_join([fa_icon('key fw'), t('settings.identity_proofs')]), settings_identity_proofs_path, highlights_on: %r{/settings/identity_proofs*}, if: proc { current_account.identity_proofs.exists? }
     end
 
-    n.item :preferences, safe_join([fa_icon('cog fw'), t('settings.preferences')]), settings_preferences_url, highlights_on: %r{/settings/preferences|/settings/notifications}
+    n.item :preferences, safe_join([fa_icon('cog fw'), t('settings.preferences')]), settings_preferences_appearance_url do |s|
+      s.item :appearance, safe_join([fa_icon('desktop fw'), t('settings.appearance')]), settings_preferences_appearance_url
+      s.item :notifications, safe_join([fa_icon('bell fw'), t('settings.notifications')]), settings_preferences_notifications_url
+      s.item :other, safe_join([fa_icon('cog fw'), t('preferences.other')]), settings_preferences_url
+    end
+
     n.item :relationships, safe_join([fa_icon('users fw'), t('settings.relationships')]), relationships_url
     n.item :filters, safe_join([fa_icon('filter fw'), t('filters.index.title')]), filters_path, highlights_on: %r{/filters}
 
diff --git a/config/routes.rb b/config/routes.rb
index 34d0081e7..2b35472bd 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -87,13 +87,20 @@ Rails.application.routes.draw do
   get '/explore', to: 'directories#index', as: :explore
   get '/explore/:id', to: 'directories#show', as: :explore_hashtag
 
+  get '/settings', to: redirect('/settings/preferences')
+
   namespace :settings do
     resource :profile, only: [:show, :update]
     resource :preferences, only: [:show, :update]
-    resource :notifications, only: [:show, :update]
-    resource :import, only: [:show, :create]
 
+    namespace :preferences do
+      resource :appearance, only: [:show, :update], controller: :appearance
+      resource :notifications, only: [:show, :update]
+    end
+
+    resource :import, only: [:show, :create]
     resource :export, only: [:show, :create]
+
     namespace :exports, constraints: { format: :csv } do
       resources :follows, only: :index, controller: :following_accounts
       resources :blocks, only: :index, controller: :blocked_accounts
@@ -103,6 +110,7 @@ Rails.application.routes.draw do
     end
 
     resource :two_factor_authentication, only: [:show, :create, :destroy]
+
     namespace :two_factor_authentication do
       resources :recovery_codes, only: [:create]
       resource :confirmation, only: [:new, :create]
diff --git a/spec/controllers/settings/notifications_controller_spec.rb b/spec/controllers/settings/preferences/notifications_controller_spec.rb
index 981ef674e..02180b383 100644
--- a/spec/controllers/settings/notifications_controller_spec.rb
+++ b/spec/controllers/settings/preferences/notifications_controller_spec.rb
@@ -1,6 +1,6 @@
 require 'rails_helper'
 
-describe Settings::NotificationsController do
+describe Settings::Preferences::NotificationsController do
   render_views
 
   let(:user) { Fabricate(:user) }
@@ -28,7 +28,7 @@ describe Settings::NotificationsController do
         }
       }
 
-      expect(response).to redirect_to(settings_notifications_path)
+      expect(response).to redirect_to(settings_preferences_notifications_path)
       user.reload
       expect(user.settings['notification_emails']['follow']).to be true
       expect(user.settings['interactions']['must_be_follower']).to be false