diff --git a/Gemfile.lock b/Gemfile.lock
index 405c31ae1a..07b1a4bbe3 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -326,7 +326,7 @@ GEM
ruby-progressbar (~> 1.4)
globalid (1.2.1)
activesupport (>= 6.1)
- haml (6.2.0)
+ haml (6.3.0)
temple (>= 0.8.2)
thor
tilt
@@ -335,7 +335,7 @@ GEM
activesupport (>= 5.1)
haml (>= 4.0.6)
railties (>= 5.1)
- haml_lint (0.51.0)
+ haml_lint (0.52.0)
haml (>= 4.0)
parallel (~> 1.10)
rainbow
@@ -381,7 +381,7 @@ GEM
rdoc
reline (>= 0.3.8)
jmespath (1.6.2)
- json (2.7.0)
+ json (2.7.1)
json-canonicalization (1.0.0)
json-jwt (1.15.3)
activesupport (>= 4.2)
@@ -622,7 +622,7 @@ GEM
redis (>= 4)
redlock (1.3.2)
redis (>= 3.0.0, < 6.0)
- regexp_parser (2.8.2)
+ regexp_parser (2.8.3)
reline (0.4.1)
io-console (~> 0.5)
request_store (1.5.1)
@@ -662,7 +662,7 @@ GEM
rspec-mocks (~> 3.0)
sidekiq (>= 5, < 8)
rspec-support (3.12.1)
- rubocop (1.58.0)
+ rubocop (1.59.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json
index a67aa6feed..a41aa02f80 100644
--- a/app/javascript/mastodon/locales/et.json
+++ b/app/javascript/mastodon/locales/et.json
@@ -606,6 +606,7 @@
"search.quick_action.status_search": "Sobivad postitused {x}",
"search.search_or_paste": "Otsi või kleebi URL",
"search_popout.full_text_search_disabled_message": "Pole saadaval kohas {domain}.",
+ "search_popout.full_text_search_logged_out_message": "Saadaval vaid kui sisse logitud.",
"search_popout.language_code": "Keele ISO-kood",
"search_popout.options": "Otsimisvalikud",
"search_popout.quick_actions": "Kiirtegevused",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 3cb0565d0e..5ad9d6dc94 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -21,7 +21,7 @@
"account.blocked": "ブロック済み",
"account.browse_more_on_origin_server": "リモートで表示",
"account.cancel_follow_request": "フォローリクエストの取り消し",
- "account.copy": "プロフィールのリンクをコピーして下さい",
+ "account.copy": "プロフィールへのリンクをコピー",
"account.direct": "@{name}さんに非公開でメンション",
"account.disable_notifications": "@{name}さんの投稿時の通知を停止",
"account.domain_blocked": "ドメインブロック中",
@@ -192,7 +192,7 @@
"conversation.mark_as_read": "既読にする",
"conversation.open": "会話を表示",
"conversation.with": "{names}",
- "copy_icon_button.copied": "クリップボードにコピーされた",
+ "copy_icon_button.copied": "コピーしました",
"copypaste.copied": "コピーしました",
"copypaste.copy_to_clipboard": "クリップボードにコピー",
"directory.federated": "既知の連合より",
@@ -392,7 +392,7 @@
"lists.search": "フォローしている人の中から検索",
"lists.subheading": "あなたのリスト",
"load_pending": "{count}件の新着",
- "loading_indicator.label": "",
+ "loading_indicator.label": "読み込み中…",
"media_gallery.toggle_visible": "{number, plural, one {画像を閉じる} other {画像を閉じる}}",
"moved_to_account_banner.text": "あなたのアカウント『{disabledAccount}』は『{movedToAccount}』に移動したため現在無効になっています。",
"mute_modal.duration": "ミュートする期間",
@@ -481,17 +481,17 @@
"onboarding.follows.empty": "表示できる結果はありません。検索やエクスプローラーを使ったり、ほかのアカウントをフォローしたり、後でもう一度試しください。",
"onboarding.follows.lead": "ホームタイムラインはMastodonの軸足となる場所です。たくさんのユーザーをフォローすることで、ホームタイムラインはよりにぎやかでおもしろいものになります。手はじめに、おすすめのアカウントから何人かフォローしてみましょう:",
"onboarding.follows.title": "ホームタイムラインを埋める",
- "onboarding.profile.discoverable": "自分のプロフィールが発見できないようにする",
- "onboarding.profile.discoverable_hint": "マストドンの見つけやすくする機能が個人情報を利用することに承諾すると、あなたの投稿が検索結果やトレンドに表示されることがあります。また、あなたのプロフィールがあなたと似た興味関心を持つ人に提案されることがあります。",
+ "onboarding.profile.discoverable": "自分のプロフィールが見つけられるようにする",
+ "onboarding.profile.discoverable_hint": "Mastodonの「見つける」機能にオプトインすると、あなたの投稿が検索結果やトレンドに表示されることがあります。また、あなたに似た関心を持つ人にプロフィールがおすすめされることがあります。",
"onboarding.profile.display_name": "表示名",
- "onboarding.profile.display_name_hint": "あなたのフルネーム、または楽しい名前…",
- "onboarding.profile.lead": "このことは後でいつでも設定から完了させることが出来ますし、設定では更に多くのカスタマイズが利用可能になっています。",
+ "onboarding.profile.display_name_hint": "フルネーム、あるいは面白い名前など",
+ "onboarding.profile.lead": "あとでいつでも修正できますし、設定画面にはこれ以外のカスタマイズ項目もあります。",
"onboarding.profile.note": "自己紹介",
- "onboarding.profile.note_hint": "@を使用して他の人々にメンションをすることができます。また#でハッシュタグが使用できます",
- "onboarding.profile.save_and_continue": "保存してから続行して下さい",
+ "onboarding.profile.note_hint": "ほかの人に @言及 したり、#ハッシュタグ を付けたりできます",
+ "onboarding.profile.save_and_continue": "保存して続ける",
"onboarding.profile.title": "プロフィールの設定",
- "onboarding.profile.upload_avatar": "プロフィール画像をアップロードしてください",
- "onboarding.profile.upload_header": "プロフィールのヘッダー画像をアップロードして下さい",
+ "onboarding.profile.upload_avatar": "プロフィール画像をアップロード",
+ "onboarding.profile.upload_header": "プロフィールのヘッダー画像をアップロード",
"onboarding.share.lead": "新しいMastodonのアカウントをみんなに紹介しましょう。",
"onboarding.share.message": "「{username}」で #Mastodon はじめました! {url}",
"onboarding.share.next_steps": "次のステップに進む:",
@@ -606,6 +606,7 @@
"search.quick_action.status_search": "{x}に該当する投稿",
"search.search_or_paste": "検索またはURLを入力",
"search_popout.full_text_search_disabled_message": "{domain}では利用できません。",
+ "search_popout.full_text_search_logged_out_message": "ログイン時のみ利用できます。",
"search_popout.language_code": "ISO言語コード",
"search_popout.options": "検索オプション",
"search_popout.quick_actions": "クイック操作",
diff --git a/app/javascript/mastodon/locales/ne.json b/app/javascript/mastodon/locales/ne.json
index 95f8e703c9..229d4f4718 100644
--- a/app/javascript/mastodon/locales/ne.json
+++ b/app/javascript/mastodon/locales/ne.json
@@ -49,5 +49,32 @@
"admin.dashboard.retention.average": "औसत",
"admin.dashboard.retention.cohort_size": "नयाँ प्रयोगकर्ताहरू",
"alert.rate_limited.message": "कृपया {retry_time, time, medium} पछि पुन: प्रयास गर्नुहोस्।",
- "alert.unexpected.message": "एउटा अनपेक्षित त्रुटि भयो।"
+ "alert.unexpected.message": "एउटा अनपेक्षित त्रुटि भयो।",
+ "bundle_column_error.retry": "पुन: प्रयास गर्नुहोस्",
+ "bundle_modal_error.close": "बन्द गर्नुहोस्",
+ "bundle_modal_error.message": "यो कम्पोनेन्ट लोड गर्दा केही गडबड भयो।",
+ "bundle_modal_error.retry": "Try again",
+ "closed_registrations.other_server_instructions": "Mastodon विकेन्द्रीकृत भएकोले, तपाइँ अर्को सर्भरमा खाता खोल्न सक्नुहुन्छ र पनि यो सर्भरसँग अन्तरक्रिया गर्न सक्नुहुन्छ।",
+ "closed_registrations_modal.description": "हाल {domain} मा खाता सिर्जना गर्न सम्भव छैन, तर कृपया ध्यान राख्नुहोस् कि तपाईंले Mastodon प्रयोग गर्नको लागि {domain} मा नै खाता खोल्न आवश्यक छैन।",
+ "closed_registrations_modal.find_another_server": "अर्को सर्भर खोज्नुहोस्",
+ "closed_registrations_modal.title": "Mastodon मा साइन अप गर्दै",
+ "column.blocks": "ब्लक गरिएको प्रयोगकर्ताहरु",
+ "column.directory": "प्रोफाइल ब्राउज गर्नुहोस्",
+ "column.domain_blocks": "ब्लक गरिएको डोमेन",
+ "column.follow_requests": "फलो अनुरोधहरू",
+ "column.lists": "सूचीहरू",
+ "column.notifications": "सूचनाहरू",
+ "column_header.hide_settings": "सेटिङ्हरू लुकाउनुहोस्",
+ "column_subheading.settings": "सेटिङहरू",
+ "compose.language.change": "भाषा परिवर्तन गर्नुहोस्",
+ "compose.language.search": "भाषाहरू खोज्नुहोस्...",
+ "compose_form.direct_message_warning_learn_more": "थप जान्नुहोस्",
+ "compose_form.poll.add_option": "विकल्प थप्नुहोस्",
+ "compose_form.poll.remove_option": "यो विकल्प हटाउनुहोस्",
+ "compose_form.publish_form": "नयाँ पोस्ट",
+ "compose_form.save_changes": "परिवर्तनहरू सेभ गर्नुहोस",
+ "compose_form.sensitive.hide": "{count, plural, one {संवेदनशील मिडियाको रूपमा चिन्ह लगाउनुहोस्} other {संवेदनशील मिडियाहरूको रूपमा चिन्ह लगाउनुहोस्}}",
+ "compose_form.sensitive.marked": "{count, plural, one {मिडियालाई संवेदनशील रूपमा चिन्ह लगाइएको छ} other {मिडियाहरूलाई संवेदनशील रूपमा चिन्ह लगाइएको छ}}",
+ "compose_form.sensitive.unmarked": "{count, plural, one {मिडियालाई संवेदनशील रूपमा चिन्ह लगाइएको छैन} other {मिडियाहरूलाई संवेदनशील रूपमा चिन्ह लगाइएको छैन}}",
+ "compose_form.spoiler_placeholder": "यहाँ आफ्नो चेतावनी लेख्नुहोस्"
}
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index ea3a43563a..47433c289f 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -4398,11 +4398,6 @@ a.status-card {
align-items: center;
justify-content: center;
- @supports (display: grid) {
- // hack to fix Chrome <57
- contain: strict;
- }
-
& > span {
max-width: 500px;
}
diff --git a/app/lib/inline_renderer.rb b/app/lib/inline_renderer.rb
index eda3da2c29..0aebb13fce 100644
--- a/app/lib/inline_renderer.rb
+++ b/app/lib/inline_renderer.rb
@@ -37,13 +37,13 @@ class InlineRenderer
private
def preload_associations_for_status
- ActiveRecord::Associations::Preloader.new(records: @object, associations: {
+ ActiveRecord::Associations::Preloader.new(records: [@object], associations: {
active_mentions: :account,
reblog: {
active_mentions: :account,
},
- })
+ }).call
end
def current_user
diff --git a/app/models/announcement.rb b/app/models/announcement.rb
index c5d6dd62e1..2cd7c1d5ed 100644
--- a/app/models/announcement.rb
+++ b/app/models/announcement.rb
@@ -78,9 +78,9 @@ class Announcement < ApplicationRecord
else
scope.select("name, custom_emoji_id, count(*) as count, exists(select 1 from announcement_reactions r where r.account_id = #{account.id} and r.announcement_id = announcement_reactions.announcement_id and r.name = announcement_reactions.name) as me")
end
- end
+ end.to_a
- ActiveRecord::Associations::Preloader.new(records: records, associations: :custom_emoji)
+ ActiveRecord::Associations::Preloader.new(records: records, associations: :custom_emoji).call
records
end
diff --git a/app/models/concerns/account/search.rb b/app/models/concerns/account/search.rb
index b02b9bd461..40d87aaaa1 100644
--- a/app/models/concerns/account/search.rb
+++ b/app/models/concerns/account/search.rb
@@ -124,7 +124,7 @@ module Account::Search
tsquery = generate_query_for_search(terms)
find_by_sql([BASIC_SEARCH_SQL, { limit: limit, offset: offset, tsquery: tsquery }]).tap do |records|
- ActiveRecord::Associations::Preloader.new(records: records, associations: :account_stat)
+ ActiveRecord::Associations::Preloader.new(records: records, associations: [:account_stat, { user: :role }]).call
end
end
@@ -133,7 +133,7 @@ module Account::Search
sql_template = following ? ADVANCED_SEARCH_WITH_FOLLOWING : ADVANCED_SEARCH_WITHOUT_FOLLOWING
find_by_sql([sql_template, { id: account.id, limit: limit, offset: offset, tsquery: tsquery }]).tap do |records|
- ActiveRecord::Associations::Preloader.new(records: records, associations: :account_stat)
+ ActiveRecord::Associations::Preloader.new(records: records, associations: [:account_stat, { user: :role }]).call
end
end
diff --git a/app/models/notification.rb b/app/models/notification.rb
index 60f834a633..54212d675f 100644
--- a/app/models/notification.rb
+++ b/app/models/notification.rb
@@ -111,7 +111,7 @@ class Notification < ApplicationRecord
# Instead of using the usual `includes`, manually preload each type.
# If polymorphic associations are loaded with the usual `includes`, other types of associations will be loaded more.
- ActiveRecord::Associations::Preloader.new(records: grouped_notifications, associations: associations)
+ ActiveRecord::Associations::Preloader.new(records: grouped_notifications, associations: associations).call
end
unique_target_statuses = notifications.filter_map(&:target_status).uniq
diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb
index 844c84f410..19a30de75b 100644
--- a/app/serializers/initial_state_serializer.rb
+++ b/app/serializers/initial_state_serializer.rb
@@ -103,8 +103,8 @@ class InitialStateSerializer < ActiveModel::Serializer
ActiveRecord::Associations::Preloader.new(
records: [object.current_account, object.admin, object.owner, object.disabled_account, object.moved_to_account].compact,
- associations: [:account_stat, :user, { moved_to_account: [:account_stat, :user] }]
- )
+ associations: [:account_stat, { user: :role, moved_to_account: [:account_stat, { user: :role }] }]
+ ).call
store[object.current_account.id.to_s] = serialized_account(object.current_account) if object.current_account
store[object.admin.id.to_s] = serialized_account(object.admin) if object.admin
diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb
index b437ff4759..7b85b09d8f 100644
--- a/app/services/account_search_service.rb
+++ b/app/services/account_search_service.rb
@@ -218,7 +218,7 @@ class AccountSearchService < BaseService
records = query_builder.build.limit(limit_for_non_exact_results).offset(offset).objects.compact
- ActiveRecord::Associations::Preloader.new(records: records, associations: :account_stat)
+ ActiveRecord::Associations::Preloader.new(records: records, associations: [:account_stat, { user: :role }]).call
records
rescue Faraday::ConnectionFailed, Parslet::ParseFailed
diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb
index b74ae1a412..6ce29d7b8b 100644
--- a/app/services/batched_remove_status_service.rb
+++ b/app/services/batched_remove_status_service.rb
@@ -11,7 +11,7 @@ class BatchedRemoveStatusService < BaseService
ActiveRecord::Associations::Preloader.new(
records: statuses,
associations: options[:skip_side_effects] ? :reblogs : [:account, :tags, reblogs: :account]
- )
+ ).call
statuses_and_reblogs = statuses.flat_map { |status| [status] + status.reblogs }
@@ -23,7 +23,7 @@ class BatchedRemoveStatusService < BaseService
ActiveRecord::Associations::Preloader.new(
records: statuses_with_account_conversations,
associations: [mentions: :account]
- )
+ ).call
statuses_with_account_conversations.each do |status|
status.unlink_from_conversations!
diff --git a/config/application.rb b/config/application.rb
index b6426516ee..990a89383e 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -63,13 +63,6 @@ module Mastodon
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 7.0
- # TODO: Release a version which uses the 7.0 defaults as specified above,
- # but preserves the 6.1 cache format as set below. In a subsequent change,
- # remove this line setting to 6.1 cache format, and then release another version.
- # https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#new-activesupport-cache-serialization-format
- # https://github.com/mastodon/mastodon/pull/24241#discussion_r1162890242
- config.active_support.cache_format_version = 6.1
-
# Please, add to the `ignore` list any other `lib` subdirectories that do
# not contain `.rb` files, or that should not be reloaded or eager loaded.
# Common ones are `templates`, `generators`, or `middleware`, for example.
diff --git a/config/initializers/cookie_rotator.rb b/config/initializers/cookie_rotator.rb
index b829b1a90b..ccc2c6b21f 100644
--- a/config/initializers/cookie_rotator.rb
+++ b/config/initializers/cookie_rotator.rb
@@ -1,9 +1,6 @@
# frozen_string_literal: true
-# TODO: Remove after 4.2.0
-Rails.application.configure do
- config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA1
-end
+# TODO: remove this file some time after 4.3.0
Rails.application.config.after_initialize do
Rails.application.config.action_dispatch.cookies_rotations.tap do |cookies|
@@ -12,9 +9,8 @@ Rails.application.config.after_initialize do
secret_key_base = Rails.application.secret_key_base
- # TODO: Switch to SHA1 after 4.2.0
key_generator = ActiveSupport::KeyGenerator.new(
- secret_key_base, iterations: 1000, hash_digest_class: OpenSSL::Digest::SHA256
+ secret_key_base, iterations: 1000, hash_digest_class: OpenSSL::Digest::SHA1
)
key_len = ActiveSupport::MessageEncryptor.key_len
diff --git a/config/locales/et.yml b/config/locales/et.yml
index fb0fdc3a3e..2d48edc295 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -534,6 +534,7 @@ et:
total_reported: Nende kohta teateid
total_storage: Lisatud meedia
totals_time_period_hint_html: Allpool kuvatud summad sisaldavad andmed kogu aja kohta.
+ unknown_instance: Hetkel pole selle domeeni jaoks siin serveris kirjet.
invites:
deactivate_all: Peata kõik
filter:
@@ -610,6 +611,7 @@ et:
created_at: Teavitatud
delete_and_resolve: Kustuta postitused
forwarded: Edastatud
+ forwarded_replies_explanation: See aruanne pärineb kaugkasutajalt ja käsitleb kaugsisu. See on edastatud sulle, sest raporteeritud sisu on vastus ühele sinu kasutajale.
forwarded_to: Edastatud %{domain} domeeni
mark_as_resolved: Märgi lahendatuks
mark_as_sensitive: Märgi kui tundlik sisu
@@ -832,6 +834,20 @@ et:
system_checks:
database_schema_check:
message_html: On ootel andmebaasi migreerimisi. Rakenduse ootuspäraseks toimimiseks palun käivita need
+ elasticsearch_health_red:
+ message_html: Elasticsearch klaster on ebaterve (punane staatus), otsingufunktsioonid ei ole saadaval
+ elasticsearch_health_yellow:
+ message_html: Elasticsearch klaster on ebaterve (kollane staatus), võiksid uurida põhjust
+ elasticsearch_index_mismatch:
+ message_html: Elasticsearchi indeksite kaardistused on vananenud. Palun käivita tootctl search deploy --only=%{value}
+ elasticsearch_preset:
+ action: Vaata dokumentatsiooni
+ message_html: Elasticsearchi klastris on rohkem kui üks sõlme, kuid Mastodon ei ole nende kasutamiseks konfigureeritud.
+ elasticsearch_preset_single_node:
+ action: Vaata dokumentatsiooni
+ message_html: Elasticsearchi klastris on ainult üks sõlm ES_PRESET
peaks olema seatud väärtusele single_node_cluster
.
+ elasticsearch_reset_chewy:
+ message_html: Elasticsearchi süsteemiindeks on seadistuse muutumise tõttu vananenud. Palun käivita tootctl search deploy --reset-chewy
selle uuendamiseks.
elasticsearch_running_check:
message_html: Elasticsearch ei vasta. Kontrolli, kas see töötab või keela täistekstiotsing
elasticsearch_version_check:
@@ -1024,6 +1040,14 @@ et:
hint_html: Üks asi veel! Me peame veenduma, et oled inimene (et me saaksime spämmi väljaspoole jätta!). Lahenda allpool olev CAPTCHA ja klõpsa "Jätka".
title: Turvalisuse kontroll
confirmations:
+ awaiting_review: E-posti aadress on kinnitatud! %{domain} töötajad vaatavad praegu registreeringut läbi. Saad e-kirja, kui nad kiidavad konto heaks!
+ awaiting_review_title: Su registreeringut vaadatakse läbi
+ clicking_this_link: klõpsates seda linki
+ login_link: logi sisse
+ proceed_to_login_html: Saad nüüd jätkata valikuga %{login_link}.
+ redirect_to_app_html: Sind oleks pidanud suunatama rakendusse %{app_name}. Kui seda ei juhtunud, proovi %{clicking_this_link} või naase käsitsi rakendusse.
+ registration_complete: Sinu registreering domeenil %{domain} on nüüd valmis!
+ welcome_title: Tere tulemast, %{name}!
wrong_email_hint: Kui see e-postiaadress pole korrektne, saad seda kontosätetes muuta.
delete_account: Konto kustutamine
delete_account_html: Kui soovid oma konto kustutada, siis jätka siit. Pead kustutamise eraldi kinnitama.
@@ -1085,6 +1109,7 @@ et:
functional: Konto on täies mahus kasutatav.
pending: Taotlus ootab ülevaatamist meie personali poolt. See võib võtta mõne aja. Kui taotlus on vastu võetud, saadetakse sulle e-kiri.
redirecting_to: See konto pole aktiivne, sest on suunatud aadressile %{acct}.
+ self_destruct: Kuna %{domain} on sulgemisel, saad oma kontole vaid piiratud ligipääsu.
view_strikes: Vaata enda eelnevaid juhtumeid
too_fast: Vorm esitatud liiga kiirelt, proovi uuesti.
use_security_key: Kasuta turvavõtit
@@ -1342,6 +1367,7 @@ et:
'86400': 1 päev
expires_in_prompt: Mitte kunagi
generate: Loo
+ invalid: See kutse pole kehtiv
invited_by: 'Sind kutsus:'
max_uses:
one: 1 kasutus
@@ -1554,6 +1580,9 @@ et:
over_daily_limit: Lubatud ajastatud postituste arv %{limit} päevas on tänaseks ületatud
over_total_limit: Oled jõudnud ajastatud postituste lubatud maksimumarvuni %{limit}
too_soon: Ajastatud kuupäev peab olema tukevikus
+ self_destruct:
+ lead_html: Kahjuks suletakse %{domain} lõplikult. Kui sul oli seal konto, ei saa sa seda enam kasutada, kuid siiski võid taotleda oma andmete varukoopiat.
+ title: See server suletakse
sessions:
activity: Viimane aktiivsus
browser: Veebilehitseja
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index f7a2c28179..8682f37eec 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -599,7 +599,7 @@ ja:
created_at: 通報日時
delete_and_resolve: 投稿を削除
forwarded: 転送済み
- forwarded_replies_explanation: この報告はリモートユーザーからのものであり、またリモートコンテンツに関するものです。報告されたコンテンツがあなたのユーザーの内の一人に対するリプライの中にあるため、あなたに転送されました。
+ forwarded_replies_explanation: これはリモートユーザーによる、リモートコンテンツについての報告です。問題のコンテンツはあなたのサーバー利用者への返信なので、こちらにも転送されて来ました。
forwarded_to: "%{domain}に転送されました"
mark_as_resolved: 解決済みとしてマーク
mark_as_sensitive: 閲覧注意にする