مرحباً بالجميع.
مع التحديث الذي أجريته قبل أسبوع تقريباً، ظهرت مشكلة في عرض زر في صفحة ملف المستخدم كما يلي. اعتقدت أنه يمكن إصلاحه بالتحديث الذي سيتم إجراؤه في الأيام القادمة، وعلى الرغم من أنني أجريت التحديثات المستمرة، إلا أنه لم يتحسن.
هل يعمل النص على ملفك الشخصي هنا في ميتا؟
هل قمت بتخصيص السلسلة في الماضي؟
لقد وجدت أيضًا هذا الموضوع Turkish translation issue with share dialog ، لذا ربما تجرب إعادة البناء.
لا يبدو أن هناك أي مشكلة في ميتا. لكن المشكلة مستمرة في موقعي الخاص. لم أقم بأي تخصيص/تعريب.
لقد جربت أيضًا الحل في الرابط الذي قدمته وأعدت بناء Discourse. للأسف لم ينجح الأمر.
هل جربت متصفحًا مختلفًا أو علامة تبويب خاصة / متصفح خفي؟
شكرا لاهتمامك.
لقد جربته على 4 متصفحات مختلفة وعلى الهاتف المحمول. يمكنني القول بوضوح أنه لا يعمل.
إذًا، ربما تكون قد جربت الوضع الآمن بالفعل.
أعتقد أن هذا يتعلق بـ
تمكنت من إعادة إنتاج المشكلة التي كانت فيها السلسلة الخاصة بالتفضيلات باللغة التركية معطلة. قمت بتخصيص js.user.preferences قبل التحديث وبعد التحديث، تعطل js.user.preferences.title الجديد.
ثم قمت بتشغيل
TranslationOverride.where(translation_key: "js.user.preferences").delete_all
TranslationOverride.send(:reload_locale!)
وهذا أصلحها ![]()
لكنني سأنتظر تأكيدًا من شخص لديه معرفة أكبر قبل أن أحاول القيام بذلك بنفسي على موقع إنتاجي.
عند التحقق، تظهر قيمة النص بشكل صحيح.
لقد قمت بتغيير النص الافتراضي ولكنه لم ينجح، ولا تزال المشكلة قائمة.
هل من الآمن القيام بذلك في بيئة إنتاجية؟ هل يمكن لأحد أن يرشدني؟
لا يعمل تخصيص النص في المنتدى. لا ينطبق هذا على هذه المنطقة فقط.
TL؛DR: تجاوز الترجمة الحالي يتجاوز وقاحةً الترجمة المخصصة القديمة بالترجمة الجديدة، مما يتسبب في مشاكل في النوع. أو، هنا، فشل في تحديث تجاوز الترجمة القديم إلى “قديم”.
المشكلة
المنتدى الذي أديره لديه تجاوز للترجمة js.user.preferences. قبل هذا الالتزام، كان سلسلة نصية، لذا عمل تجاوز الترجمة بشكل جيد.
بعد هذا الالتزام، يصبح المفتاح كائنًا. ومع ذلك، لا يكتشف تجاوز الترجمة نوع المفتاح، بل يتجاوزه مباشرة إلى السلسلة النصية القديمة المحددة. هذا يتسبب في فقدان ترجمة المفتاح في الواجهة.
كيفية إعادة الإنتاج
بالنسبة للمنتديات الأحدث، يبدو أن هذا يتطلب إدراج سجل قديم يدويًا لتشغيله
INSERT INTO translation_overrides
(locale, translation_key, value, created_at, updated_at)
VALUES
('en', 'js.user.preferences', 'test', current_timestamp, current_timestamp);
ثم قم بتعديل نص موقع عشوائي لتشغيل التحديث
يبدو أنه بطريقة ما، لم يتم تحديث حالة هذا التجاوز إلى “قديم”.
[5] pry(main)> TranslationOverride.last
TranslationOverride Load (1.2ms) SELECT "translation_overrides".* FROM "translation_overrides" ORDER BY "translation_overrides"."id" DESC LIMIT 1
=> #<TranslationOverride:0x00007f0b20a31e20
id: 18,
locale: "en",
translation_key: "js.user.preferences",
value: "test",
created_at: Tue, 23 Jul 2024 17:08:17.317404000 UTC +00:00,
updated_at: Tue, 23 Jul 2024 17:08:17.317404000 UTC +00:00,
compiled_js: nil,
original_translation: nil,
status: "up_to_date">
لقد قمت بإضافة تقريرك إلى التقارير السابقة للحفاظ على تجميعها معًا. ![]()
واو، لم أر أن هناك تقرير خطأ مماثل هنا ()\n\nأنا أتعقبه بالفعل، لكن الأمر غريب، أعتقد أن هذا يجب أن يعمل بشكل جيد… لا أعرف ما الذي يحدث هنا
يجب أن يكون هذا آمنًا للقيام به على موقع إنتاجي.
(على الرغم من أنه يرجى أخذ نسخة احتياطية قبل محاولة إجراء تغييرات في وحدة تحكم rails، حيث يمكن أن تحدث حوادث)
على الرغم من أنه إذا لم تكن تخصيصات النص تعمل، فهل أنت متأكد من أن هذه هي نفس المشكلة؟
تم حل هذه المشكلة مع آخر تحديث. (3.4.0.beta1-dev)
نعم، أؤكد أيضًا أن المشكلة قد تم حلها مع التحديث الحالي.
لإكمال هذا الأمر، إليك طلب السحب (PR) للإصلاح: ![]()
تم إغلاق هذا الموضوع تلقائيًا بعد 14 ساعة. لم يعد يُسمح بالردود الجديدة.












