البدء

ما الذي تقدمه SwiftLing

التركيب

البداية السريعة

شاشة «نظرة عامة»

اللغات والعناوين

اللغات

العناوين (URLs)

محركات البحث وتحسين محركات البحث (SEO)

الترجمة

شاشات الترجمة

محرر الترجمة

الترجمة الآلية

ترجمة كل شيء

لم تُترجم قط

نسخ منفصلة

المحتوى

الصفحات والمشاركات

الفئات والعلامات

قوائم الطعام

القوالب

القوالب والمكونات الإضافية

التعليقات

النماذج

WooCommerce

أدوات إنشاء الصفحات و ACF

الصور

مُبدِّل اللغة

مُبدِّل اللغة

لغة الزائر

الإعدادات

الإعدادات العامة

السجلات

المكونات الإضافية الخاصة بالتخزين المؤقت وشبكات المواقع

SwiftLing Pro

SwiftLing Pro

Licence Pro

خدمات الترجمة الاحترافية

مسرد المصطلحات Pro

ترجمة مرة أخرى (الإصدار الاحترافي)

ترجمة كل شيء في الخلفية (الإصدار Pro)

الترجمة التلقائية (الإصدار الاحترافي)

Currencies Pro

رسائل البريد الإلكتروني الخاصة بالطلبات (الإصدار Pro)

مترجمون محترفون

الاستيراد من Polylang وWPML وTranslatePress Pro

الدعم الاحترافي

المطورون

للمطورين

نقاط ربط للمكونات الإضافية والسمات

واجهة برمجة التطبيقات REST للمحتوى (SwiftLing)

واجهة برمجة التطبيقات REST ووكلاء الذكاء الاصطناعي (SwiftLing Pro)

WP-CLI (SwiftLing Pro)

مساعدة

حل المشكلات والدعم الفني

الأسئلة الشائعة

الخدمات الخارجية والخصوصية

مسرد المصطلحات

WP-CLI (SwiftLing Pro)

التوثيق / للمطوّرين

تضيف SwiftLing Pro الأمر wp swiftling إلى WP-CLI، ويتيح الوظائف نفسها التي تتيحها واجهة REST API الخاصة بها (انظر واجهة REST API ووكلاء الذكاء الاصطناعي). شغّله حيث يعمل WordPress، سواء في برنامج نصي أو أثناء النشر أو عبر SSH ‏(wp --ssh=user@host/path swiftling …). يصف الأمر wp help swiftling <command> كل أمر وخيار متاح في تثبيتك.

تُنفَّذ الأوامر التي تقرأ الترجمات أو تغيّرها بصلاحيات مستخدم: أضف --user=admin. ويمكنها تنفيذ ما يُسمح لذلك المستخدم بتنفيذه في محرّر الترجمة.

الأوامر

CommandWhat it does
wp swiftling statusThe original, the translation service and its characters this month, and how far each language has come across the pages and posts visitors open. --format=table|json|csv|yaml.
wp swiftling languagesThe languages, the original first. --format as above.
wp swiftling checkChecks pages on the server, so their texts are known.
wp swiftling translateTranslates with the translation service. See below.
wp swiftling to-translateWhat still needs translating in a language.
wp swiftling exportTexts with their originals, translations and states, as JSON, for a translator or another tool.
wp swiftling importThe translations of such a file, filled in, back into the site.
wp swiftling flush-cacheEmpties SwiftLing’s cache of maps and translations, and the pages of the cache plugins SwiftLing knows.
wp swiftling cleanRemoves what SwiftLing kept of posts no longer on the site.

ما تترجمه: العناصر

العنصر هو ما يفتحه محرّر الترجمة:

SubjectExample
A post, page or productpost:12 (or just 12)
A template of a block themetemplate:twentytwentyfive//archive
A kind of page of a classic themeview:search
The terms of a listterms:category
A classic menumenu:3
A builder’s subject, such as an options page of Advanced Custom Fieldsas wp swiftling to-translate lists it

تقبل عدة أوامر تحديد العناصر بطريقتين: ذكرها بالاسم (post:12 post:13)، أو استخدام --all لجميع العناصر من نوع معيّن.

OptionMeaning
--allEvery subject of a kind instead of the ones you name.
--kind=<kind>With --all: post (the default), template, terms, menu or all.
--type=<type>With --all and posts: only one post type, as page.

يقبل wp swiftling check الوسيط <subject>… والخيارات --all و--kind و--type.

الحالات

يكون كل نص في الصفحة في إحدى الحالات التالية:

StateMeaning
missingNot translated yet: visitors read the original.
machineA service translated it, nobody has read it yet.
reviewedSomeone checked it (or wrote it).
outdatedThe original changed since it was translated. The old translation stays, marked outdated, until someone reviews it.
officialThe translation of WordPress, the theme or a plugin. SwiftLing never sends these to a service.
partialOf a page: some texts are translated, some not.
duplicateOf a page: the language keeps the original on purpose (“Keep the original” in the editor).

الترجمة

wp swiftling translate [<subject>…] --lang=<slug> [--all] [--kind=<kind>] [--type=<type>] [--again=<states>] [--recheck] [--yes] --user=admin
  • تأخذ --lang المعرّف المختصر للغة، أو عدة معرّفات تفصل بينها فواصل (de,fr,hr)، أو all لجميع اللغات.
  • يستخدم خدمة الترجمة المختارة في الإعدادات › خدمة الترجمة ومفتاحها، ويُحتسب الاستخدام على حسابك لدى تلك الخدمة. ولا تُستخدم إلا خدمة واحدة للترجمة في كل مرة.
  • تُفحص كل صفحة على الخادم أولًا. ويُحتفَظ بما ترجمته الخدمة قبل توقفها (بسبب رفض المفتاح أو نفاد الحصة).
  • يطلب --all التأكيد قبل البدء، لأن الترجمة تُحتسب بحسب عدد الأحرف. أضف --yes لتجاوز السؤال، كما في البرامج النصية.

ملء النصوص الفارغة (الخيار الافتراضي)

wp swiftling translate post:12 --lang=de --user=admin
wp swiftling translate --all --type=page --lang=de,fr --yes --user=admin
wp swiftling translate --all --lang=all --yes --user=admin

لا تُرسَل إلا النصوص التي ليس لها ترجمة. ولا تُمسّ أي ترجمة كتبها شخص أو راجعها، وتُترك الترجمة الآلية كما هي.

يشمل --all الصفحات التي لا تزال فيها نصوص تحتاج إلى ترجمة وفقًا لآخر فحص لها: غير المترجمة أو المترجمة جزئيًا أو التي أصبحت ترجماتها قديمة. وقد تحتوي صفحة تغيّرت منذ آخر فحص لها على نصوص جديدة لم يكتشفها الفحص بعد. أضف --recheck لإعادة فحص كل صفحة:

wp swiftling translate --all --lang=all --recheck --yes --user=admin

يحتفظ النص الذي تغيّر أصله بترجمته السابقة، وتُعلَّم بأنها outdated ليراجعها أحد في المحرّر. ولا يستبدلها التشغيل الافتراضي.

إعادة الترجمة: --again

يعيد --again=<states> ترجمة النصوص التي في تلك الحالات، بدلًا من ملء النصوص الفارغة. وتكون قيمة <states> هي machine أو reviewed أو كلتاهما مفصولتين بفاصلة.

You writeWhat it translates again
--again=machineTexts a service translated before and nobody has reviewed. The new translation replaces the old one and is saved as machine. Reviewed texts stay.
--again=reviewedTexts someone checked or wrote by hand. They are replaced with a machine translation, so this overwrites manual work. Use it only when you mean it.
--again=machine,reviewedBoth: every text that has a translation of its own, except the official ones. This is “translate everything from scratch” for what is already translated.

ما ينبغي معرفته عن --again:

  • لا يملأ النصوص الفارغة. لملء ما لم يُترجَم من قبل أيضًا، شغّل الأمر مرةً من دون --again (قبل ذلك أو بعده).
  • لا يُحتفَظ بنسخة من الترجمات القديمة. إذا كنت قد تحتاج إلى استعادتها، فشغّل wp swiftling export أولًا.
  • لا تُرسَل أبدًا النصوص official (ترجمات WordPress والقوالب والإضافات) ولا النصوص outdated. فالنص الذي أصبحت ترجمته قديمة يحتاج إلى مراجعة.
  • عند استخدام --all، يشمل --again كل العناصر باستثناء العنصر الذي يُبقي النص الأصلي. ولا حاجة إلى --recheck.
  • لا تُرسَل أبدًا النصوص التي لا تحتوي إلا على عناوين أو شيفرات أو لا تحتوي على كلمات، مهما كانت الخيارات التي تحددها.
  • يظل كل ما يُرسَل يُرسَل إلى الخدمة التي اخترتها، لذا يُحتسب على حسابك. راجع wp swiftling status لمعرفة عدد الأحرف لهذا الشهر.
# translate the machine translations of one page into German again
wp swiftling translate post:12 --lang=de --again=machine --user=admin

# a whole site, every language: fill what is empty, then redo the machine translations
wp swiftling translate --all --lang=all --yes --user=admin
wp swiftling translate --all --lang=all --again=machine --yes --user=admin

# the templates (header, footer) again, including what someone reviewed. Back up first.
wp swiftling export --all --kind=template --lang=de --file=templates-de.json --user=admin
wp swiftling translate --all --kind=template --lang=de --again=machine,reviewed --yes --user=admin

ما تبقّى لترجمته

wp swiftling to-translate --lang=de [--kind=<kind>] [--type=<type>] [--state=<states>] [--format=<format>] --user=admin

يعرض افتراضيًا ما لم يُترجَم، أو تُرجِم جزئيًا، أو أصبحت ترجمته قديمة، أو لم يُترجَم إلا آليًا. وتكون قيمة --kind هي post (الافتراضية) أو template أو terms أو menu. وتكون قيمة --state قائمة مفصولة بفواصل من missing وpartial وoutdated وmachine وreviewed وduplicate. وتكون قيمة --format هي table أو json أو csv أو yaml أو count.

wp swiftling to-translate --lang=de --format=count --user=admin
wp swiftling to-translate --lang=de --kind=post --type=page --state=machine --user=admin

الصفحة التي لم تُفحص بعد لا تكون نصوصها معروفة، لذا تُدرج بحالة missing.

التصدير والاستيراد

wp swiftling export [<subject>…] --lang=<slug> [--all] [--kind=<kind>] [--type=<type>] [--state=<states>] [--file=<file>] --user=admin
wp swiftling import <file> [--state=<state>] [--dry-run] --user=admin

يُنشئ export ملف JSON يتضمن النص الأصلي والترجمة والحالة لكل نص. وتُفحص كل صفحة على الخادم أولًا. يقتصر --state على النصوص ذات الحالات التالية: missing وoutdated وmachine وreviewed وofficial. وبدون --file، تُطبع النتيجة.

يقرأ import ملفًا من هذا النوع بعد ملء الترجمات فيه:

  • <file> هو مسار ملف، أو - للإدخال القياسي.
  • --state=reviewed (الخيار الافتراضي) أو --state=machine يحدّد الحالة التي تُحفظ بها الترجمات.
  • يتحقق --dry-run من الترجمات دون حفظ أي شيء.
  • تُفحص صفحة كل موضوع أولًا، ويُتحقق من جميع ترجماته قبل حفظ أي شيء. تُرفض ترجمة النص الأصلي مع موضوعها إذا تغيّر النص منذ التصدير، وكذلك ترجمة نص مأخوذ من الشيفرة إذا طلبت قيمة غير موجودة في نصه الأصلي. أما الترجمة الفارغة في الملف، فتُبقي النص كما هو.
wp swiftling export --all --lang=de --state=missing --file=de.json --user=admin
wp swiftling import de.json --dry-run --user=admin
wp swiftling import de.json --user=admin

فحص الصفحات

wp swiftling check post:12 --user=admin
wp swiftling check --all --kind=template --user=admin

يفحص صفحة كل موضوع على الخادم، كما يفعل محرر الترجمة، للتعرّف على نصوصها. لا يُشغّل الفحص أي نصوص برمجية، لذا لا يعثر على نص يُنشئه نص برمجي بعد تحميل الصفحة، ولا على نص محفوظ في سمة data-* يعرضه نص برمجي.

الحفاظ على سرعة الموقع

بعد تنفيذ عملية كبيرة، يُفرغ wp swiftling flush-cache ذاكرة التخزين المؤقت لـSwiftLing والصفحات المخزّنة مؤقتًا لدى إضافات التخزين المؤقت التي يتعرف عليها SwiftLing. ويزيل wp swiftling clean ما احتفظ به SwiftLing من بيانات المقالات التي لم تعد موجودة على الموقع.