مشكلة تخصيص الرسائل المنبثقة والنص بعد الترقية

لقد قمت بالتحديث قبل بضعة أيام. بعد الترقية، واجهت مشكلة.

إذا كانت “اللغة الافتراضية” باللغة الإنجليزية، فلا توجد مشكلة. يتم عرض رسالة النافذة المنبثقة بنجاح، ولكن باللغات الأخرى تواجه مشكلات.
لا يمكنني تغيير بعض النصوص المتعلقة بقسم الدردشة. بالمناسبة، لقد جربت ويمكنني إجراء تغييرات في أجزاء أخرى. لست متأكدًا مما إذا كانت هذه المشكلة تتعلق فقط بجزء الدردشة أم أن هناك مجالات أخرى أيضًا.
واجهت نفس المشكلة سواء قمت بالتحديث من الواجهة أو باستخدام الأمر.
لقد حاولت مرة أخرى اليوم. قمت بإلغاء تثبيت كل شيء وقمت بتثبيت جديد.
لدي تثبيت جديد ولم يتم تثبيت أي إضافات أو مكونات.

الإصدار: 3.1.0.beta2 -(6fa9a8990d)

أي فكرة، من فضلك؟



إعجاب واحد (1)

لقد قمت للتو بتشغيل هذا على موقع الاختبار الخاص بي ويمكنني تكرار هذا. لم أقم بتحديث موقع الاختبار الخاص بي منذ فترة، وفي الإصدار f19044af6a كان يعمل بشكل جيد، ولكن التحديث إلى أحدث إصدار 39be3cb619 أعطى نفس السلوك الذي تم الإبلاغ عنه.

خطواتي خطوة بخطوة:

(الإصدار f19044af6a)

  • تعيين المنطقة الافتراضية إلى ‘Español’
  • تعيين أيام الاحتفاظ بخصوصيات الدردشة إلى ‘30’
  • انتقل إلى /admin/customize/site_texts وقم بتحرير js.chat.retention_reminders.dm
  • قم بالتحديث وتحقق من الرسالة باستخدام مستخدم اختبار جديد:

التحديث إلى 39be3cb619

  • الرسالة الموجودة تحتوي على قيمة معلمة خام:

  • انتقل إلى /admin/customize/site_texts وتحرير js.chat.retention_reminders.dm يعطي الآن خطأ 500 مع هذا في السجلات:

الرسالة (تم الإبلاغ عن 4 نسخ)

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 إعجابات

وهل هناك أي طريقة لتصحيح هذا الوضع من واجهة المستخدم وحدها يا @JammyDodger؟

إعجاب واحد (1)

أنا متأكد من أن حلاً مشابهاً لـ Cannot update text for js.composer.error.post_length - #2 by gerhard سيعمل.

3 إعجابات

أعتقد أن الأمر مختلف قليلاً عن ذلك الموجود في الرابط الذي ذكرته. ترى المشكلة إذا لم تكن لغتك الافتراضية هي الإنجليزية وإذا قمت بتغيير “chat dm retention days” من 0 إلى x أيام.
أيضًا، الحل الذي ذكرته لا يعمل، لا يمكنك تغيير النص (js.chat.retention_reminders.dm) حتى في الوضع الآمن. هناك خطأ 500 عند محاولة التغيير.

إعجابَين (2)

لقد جربت عدة طرق، لكنني لم أتمكن من إعادة تعيينه والسماح لي بالدخول مرة أخرى لتغييره يدويًا. بالتحقق منه مرة أخرى الآن، عاد النص إلى نصه الافتراضي ولكن مع المتغير الخام (لذلك لا يتوفر خيار ‘إعادة تعيين’) ومحاولة التحرير يدويًا يرمي خطأ 500. لقد جربت أيضًا الحل البديل للوضع الآمن للموضوع الآخر، والذي لم يكن له أي تأثير على ما يبدو.

البحث عن js.chat.retention_reminders.dm باللغة الإنجليزية (المملكة المتحدة) يعطيني ثلاثة خيارات، ولكن باللغة الإسبانية يقدم خيارين فقط.

إعجابَين (2)

لقد قمنا بتحديث الترجمات، لذا بعد تحديث Discourse إلى أحدث إصدار، يجب أن تكون قادرًا على إصلاح هذا في واجهة المستخدم:

يمكنك إصلاح السلسلة المخصصة الخاصة بك عن طريق الانتقال إلى تخصيص – > النص:

  • ابحث عن “js.chat.retention_reminders.dm”
  • انقر فوق “تحرير”
  • انقر فوق “التراجع عن التغييرات” وأكد السؤال بـ “نعم”
  • انقر فوق “العودة إلى البحث”
  • ابحث عن “js.chat.retention_reminders.dm”
  • سترى 3 نتائج، قم بتخصيص هذه السلاسل حسب رغبتك
7 إعجابات

عذرًا على الأخبار السيئة…

إعجاب واحد (1)

هل تمكنت من التراجع عن سلسلة “js.chat.retention_reminders.dm” المخصصة؟ أود إغلاق هذه المشكلة إذا كان ذلك قد حلها لك.

حسنًا، المشكلة رقم 2 خطئي. سأقوم بإصلاح ذلك. FIX: Wrong interpolation key by gschlager · Pull Request #20374 · discourse/discourse · GitHub

المشكلة رقم 1 مشكلة مختلفة. هل تمانع في إنشاء تقرير خطأ جديد لها؟

4 إعجابات

بالتأكيد، أنا أقوم بإنشائها على الفور :+1:

إعجاب واحد (1)

تم إغلاق هذا الموضوع تلقائيًا بعد 24 ساعة من آخر رد. لم تعد الردود الجديدة مسموحًا بها.