تخطَّ إلى المحتوى
Sonenta

دليل · القيم المصدر

تحديث القيمة المصدر لمفتاح

يضبط بذر مفتاح بـ create_key أو create_keys_bulk قيمته المصدر مرة واحدة فقط. إعادة التشغيل بقيمة source_value معدّلة لا تفعل شيئًا — وذلك بحكم التصميم، كي لا يطمس بذرٌ آلي النص المصدر أبدًا. إليك كيفية تغيير القيمة المصدر لمفتاح عمدًا بعد إنشائه.

اللا-تأثير الذي ستصادفه

يقبل create_key وcreate_keys_bulk قيمة source_value، لكنهما لا يأخذانها بعين الاعتبار إلا عند إنشاء المفتاح فعليًا. استدعِهما مجددًا على مفتاح موجود فيُهمَل source_value الجديد بصمت — مع نجاح النداء رغم ذلك، وعودة المفتاح بـ created: false، وبقاء النص المصدر دون تغيير.

create_keys_bulk
1// create_keys_bulk — source_value on a key that ALREADY exists2{ "items": [3  { "namespace": "common", "name": "checkout.title",4    "source_value": "Checkout" }5] } 7// → no update_source: the existing source is left untouched8{ "results": [{ "index": 0, "status": "ok", "created": false }] }

الحل: update_source

أضِف update_source: true إلى المفتاح — وهو حقل لكل مفتاح (على create_key، أو على كل مُدخَل من items[] في create_keys_bulk)، وليس راية عامة أبدًا. عندئذٍ تُحدَّث القيمة المصدر حتى على مفتاح موجود (يبقى created بقيمة false). وهو اختياري التفعيل: فإعادة بذر روتينية لا تغيّر النص المصدر بالخطأ أبدًا.

create_keys_bulk
1// update_source is a PER-ITEM flag — never a global one2{ "items": [3  { "namespace": "common", "name": "checkout.title",4    "source_value": "Checkout", "update_source": true }5] } 7// → created:false (the key existed) but the source is now upserted8{ "results": [{ "index": 0, "status": "ok", "created": false }] }

كلاهما يمر عبر سطح MCP (مفتاح بنطاق mcp:*)، ويجب أن تكون للمشروع لغة مصدر بالفعل. ويُزاد رقم إصدار التغيير ويُسجَّل في سجل المفتاح.

أو إعادة استيراد لغة المصدر

يحدّث استيراد i18next بمرور واحد القيم المصدر أيضًا. تحدّث إعادة استيراد ملفات لغة المصدر لديك كل مصدر موجود في نداء واحد — وهو مفيد حين يكون النص المصدر موجودًا بالفعل في مستودعك.

terminal
1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json"   # en = your source language

ما الذي يتغيّر

  • مُؤرشف بالإصدار ومُدقَّق. المصدر الجديد تحرير عادي مُؤرشف بالإصدار، منسوب إلى مفتاح API الخاص بك، ويظهر في سجل المفتاح.
  • تُحلّ أحداث المفاتيح المفقودة. تُحلّ أحداث المفاتيح المفقودة المفتوحة لتلك المفاتيح تلقائيًا فور وصول قيمة مصدر حقيقية.
  • اختياري التفعيل بحكم التصميم. دون update_source، يبقى source_value على مفتاح موجود مُهمَلًا — فإعادة تشغيل سكربت البذر لديك لا تطمس النص المصدر بالخطأ أبدًا.

بعد ذلك