do_action( 'wpml_register_single_string', string $context, string $name, string $value )
- النوع
- action
- الفئة
- إدراج المحتوى
- إصدار WPML
- 3.2
الوصف
يُسجّل سلسلة نصية فردية للترجمة (على عكس السلسلة النصية التي تُعد جزءاً من حزمة). يُستخدم هذا الإجراء عادةً لنصوص إدخال المستخدم والتي تُعرف أيضاً باسم «السلاسل النصية الديناميكية».
لاسترداد ترجمة سلسلة نصية، يرجى الاطلاع على: wpml_translate_single_string
لتسجيل سلسلة نصية تُعد جزءاً من حزمة، يرجى الاطلاع على: wpml_register_string
ملاحظة: يتطلب هذا الخطّاف مكوّن WPML ترجمة النصوص
الوسطاء
- $context
- (سلسلة نصية) (مطلوب) تعطي هذه القيمة سياقاً للسلسلة النصية التي توشك على تسجيلها. سيكون هذا عادةً اسم الإضافة أو القالب، بتنسيق يمكن للبشر قراءته
- $name
- (سلسلة نصية) (مطلوب) اسم السلسلة النصية الذي يساعد المترجم على فهم ما تتم ترجمته
- $value
- (سلسلة نصية) (مطلوب) السلسلة النصية التي تحتاج إلى ترجمة
- $allow_empty_value
- (منطقي: false افتراضياً) (اختياري) ما إذا كانت القيمة الفارغة مسموحة أم لا
- $source_lang_code
- (سلسلة نصية) (اختياري) رمز اللغة للسلسلة النصية المسجلة
مثال على الاستخدام
تخيّل أنك أنشأت ودجت مخصصة تحتوي على حقل إدخال للعنوان وبعض الخيارات الأخرى. يمكنك تسجيل عنوان الودجت للترجمة باستخدام apply_filters ولكنك تريد أيضاً تسجيل نص الإدخال الذي يمكنك حفظه في حقول الخيارات الأخرى للودجت.
أفضل وقت لتسجيل نصوص الإدخال للترجمة هو عند حفظ خيارات الودجت أو تحديثها، أي داخل طريقة «update» للودجات.
فيما يلي مثال على ما قد يبدو عليه الكود. تحتوي الودجت المخصصة في مثالنا على عنوان، وحقل إدخال من سطر واحد، ومنطقة نص.
مثال
function update($new_instance, $old_instance){
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['custom_input'] = strip_tags($new_instance['custom_input']);
$instance['custom_textarea'] = $new_instance['custom_textarea'];
//WPML
/**
* register strings for translation
*/
do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - input field', $instance['custom_input'] );
do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - textarea field', $instance['custom_textarea'] );
//WPML
return $instance;
}
يخبر الكود أعلاه WPML أن نص إدخال المستخدم لحقل الإدخال ومنطقة النص يحتاج إلى ترجمة. ستُسجل النصوص ضمن سياق السلاسل النصية Widgets بالاسم Custom Widget – input field و Custom Widget – textarea field على التوالي.
خطاطيف ذات صلة
wpml_set_element_language_details, wpml_make_post_duplicates, wpml_admin_make_post_duplicates, wpml_copy_post_to_language, wpml_delete_package, wpml_import_get_trid_from_imported_translations, wpml_register_string, wpml_show_package_language_ui, wpml_delete_package_action