المسؤول - تخصيص - النص يتصرف بشكل سيء

يحدث هذا عندما يكون هناك تجاوز للترجمة لمفتاح كان في السابق سلسلة قابلة للترجمة، ولكن تم تحويله إلى Hash لاحقًا. هذا بالضبط ما حدث مع chatbot.prompt.system.

يبدو هذا تراجعًا. أنا متأكد من أن هذا كان يعمل في الماضي.

يمكنني بسهولة تكرار هذا باستخدام ملف لغة مثل هذا:

en:
  foo: "this is foo"

انتقل إلى تخصيص – > النص وتجاوز “foo” بقيمة مختلفة.

ثم، قم بتغيير ملف اللغة ليبدو كالتالي:

en:
  foo:
    basic: "Basic Foo"
    advanced: "Advanced Foo"

قم بزيارة تخصيص – > النص مرة أخرى وابحث عن “foo”. سيسجل Discourse الخطأ التالي.

NoMethodError (undefined method `scan' for {:basic=>"Basic Foo", :advanced=>"Advanced Foo"}:Hash)
lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/controllers/admin/site_texts_controller.rb:183:in `record_for'
app/controllers/admin/site_texts_controller.rb:249:in `block in find_translations'
app/controllers/admin/site_texts_controller.rb:234:in `each'
app/controllers/admin/site_texts_controller.rb:234:in `find_translations'
app/controllers/admin/site_texts_controller.rb:34:in `index'

لا ينبغي لـ Discourse تحميل تجاوزات الترجمة إذا لم يكن هناك سلسلة إنجليزية مقابلة.

4 إعجابات