ProjeDEV
(Proje DEV)
1
数日前にアップデートしました。アップグレード後、問題が発生しました。
「デフォルトロケール」が英語の場合は問題ありません。ポップアップメッセージは正常に表示されますが、他の言語では問題が発生します。
チャットセクションに関連する一部のテキストを変更できません。ちなみに、試したところ、他の部分は変更できました。この問題がチャット部分のみに関連しているのか、それとも他の領域にも影響があるのかはわかりません。
インターフェースからアップデートしても、コマンドでアップデートしても、同じ問題が発生しました。
本日再度試しました。すべてアンインストールして、クリーンインストールしました。
クリーンインストール済みで、プラグインやコンポーネントはインストールされていません。
バージョン:3.1.0.beta2 -(6fa9a8990d)
何かアイデアはありますか?
「いいね!」 1
テストサイトでこの問題を再現できました。しばらくテストサイトを更新していなかったのですが、バージョン f19044af6a では問題なく動作していました。しかし、最新版の 39be3cb619 に更新したところ、報告されたのと同じ動作になりました。
私の手順:
(バージョン f19044af6a)
default locale を ‘Español’ に設定
chat dm retention days を ‘30’ に設定
/admin/customize/site_texts に移動し、js.chat.retention_reminders.dm を編集
- 新しいテストユーザーでメッセージをリフレッシュして確認:
39be3cb619 に更新
Message (4 copies reported)
NoMethodError (undefined method `scan' for {:one=>"Personal chat history is retained for %{count} day.", :other=>"Personal chat history is retained for %{count} days."}:Hash
keys = text.scan(pattern)
^^^^^
)
lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:124:in `check_interpolation_keys'
app/models/translation_override.rb:65:in `upsert!'
app/controllers/admin/site_texts_controller.rb:88:in `update'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'
Backtrace
lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:124:in `check_interpolation_keys'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:686:in `catch'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:686:in `block in default_terminator'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:595:in `each'
「いいね!」 3
sam
(Sam Saffron)
3
UIだけではこの状況を修正する方法はありませんか @JammyDodger?
「いいね!」 1
gerhard
(Gerhard Schlager)
4
「いいね!」 3
ProjeDEV
(Proje DEV)
5
お示しいただいたリンクのものとは少し違うと思います。デフォルトのロケールが英語ではなく、「chat dm retention days」を0からx日に変更した場合に問題が発生します。
また、お示しいただいた解決策は機能しません。セーフモードでもテキスト(js.chat.retention_reminders.dm)を変更することはできません。変更しようとすると500エラーが発生します。
「いいね!」 2
いくつか試しましたが、リセットして手動で変更することはできませんでした。現在確認したところ、テキストはデフォルトのテキストに戻っていますが、生の変数(「元に戻す」オプションなし)が表示されており、手動で編集しようとすると500エラーが発生します。他のトピックのセーフモードの回避策も試しましたが、効果はないようです。
英語(英国)ロケールで js.chat.retention_reminders.dm を検索すると3つの選択肢が表示されますが、Español では2つしか表示されません。
「いいね!」 2
gerhard
(Gerhard Schlager)
9
翻訳を更新しました。Discourse を最新バージョンに更新すると、UI でこれを修正できるようになります。
カスタマイズした文字列は、[カスタマイズ] → [テキスト] に移動して修正できます。
- 「js.chat.retention_reminders.dm」を検索します。
- 「編集」をクリックします。
- 「変更を元に戻す」をクリックし、「はい」で質問を確認します。
- 「検索に戻る」をクリックします。
- 「js.chat.retention_reminders.dm」を検索します。
- 3 つの結果が表示されるので、これらの文字列をお好みに合わせてカスタマイズしてください。
「いいね!」 7
gerhard
(Gerhard Schlager)
12
カスタマイズされた「js.chat.retention_reminders.dm」文字列を元に戻すことはできましたか?もしそれで解決したのであれば、このバグをクローズしたいと思います。
さて、問題#2は私のミスです。修正します。FIX: Wrong interpolation key by gschlager · Pull Request #20374 · discourse/discourse · GitHub
問題#1は別の問題です。そちらについては、新しいバグレポートを作成していただけますか?
「いいね!」 4
gerhard
(Gerhard Schlager)
クローズされました:
14
このトピックは、最後の返信から24時間後に自動的にクローズされました。新しい返信は許可されていません。