PolyglotMan(1)

الاسم
PolyglotMan, rman - يعكس تجميع صفحات الدليل من الشكل المنسق إلى عدد من صيغ المصدر: ASCII, roff, TkMan, Tk, Sections, HTML, SGML, MIME, LaTeX, LaTeX2e, RTF, POD.

موجز
rman [ خيارات ] [ ملف ]

الوصف
يمكن العثور على التعليمات المحدثة على http://polyglotman.sourceforge.net/rman.html

PolyglotMan يأخذ صفحات الدليل من معظم النكهات الشائعة لـ UNIX ويحولها إلى أي من عدد من صيغ المصدر النصي. كان PolyglotMan معروفًا سابقًا باسم RosettaMan. اسم الثنائي لا يزال يسمى rman، للنصوص البرمجية التي تعتمد على هذا الاسم؛ تذكيريًا، فقط فكر "عكس الدليل". سابقًا، تطلب PolyglotMan تنسيق الصفحات بواسطة nroff(1) قبل معالجتها. مع الإصدار 3.0، يفضل مصدر [tn]roff وينتج عادةً نتائج أفضل. ومعالجة المصدر هي الطريقة الوحيدة لترجمة الجداول. ومع ذلك، ترجمة صيغة المصدر ليست ناضجة مثل المنسقة، لذا جرب الترجمة المنسقة كنسخة احتياطية.

في تحليل مصدر [tn]roff، يمكن للمرء تنفيذ مجموعة فرعية كبيرة بشكل تعسفي من [tn]roff، وهو ما لم أفعله ولن أفعله، لذا قد تكون النتائج غير دقيقة. ومع ذلك، قمت بتنفيذ مجموعة فرعية كبيرة من تلك المستخدمة في صفحات الدليل، بما في ذلك tbl (ولكن ليس eqn)، واختبارات if، وتعريفات الماكرو العامة، لذا عادةً ما تكون النتائج رائعة. إذا لم تكن كذلك، قم بتنسيق الصفحة باستخدام nroff قبل إرسالها إلى PolyglotMan. إذا لم يتعرف PolyglotMan على ماكرو رئيسي تستخدمه فئة كبيرة من الصفحات، فأرسل لي المصدر وصفحة منسقة بـ nroff مشفرة بـ uuencode وسأرى ما يمكنني فعله. عند تشغيل PolyglotMan مع مصدر صفحة دليل يتضمن أو يعيد التوجيه إلى مصدر [tn]roff آخر باستخدام ماكرو .so (مصدر أو تضمين)، يجب أن تكون في الدليل الأب للصفحة، لأن الصفحات تُكتب بهذا الافتراض. على سبيل المثال، إذا كنت تترجم /usr/share/man/man1/ls.1، فانتقل أولاً إلى /usr/share/man.

PolyglotMan يقبل صفحات الدليل من: SunOS, Sun Solaris, Hewlett-Packard HP-UX, AT&T System V, OSF/1 المعروف بـ Digital UNIX, DEC Ultrix, SGI IRIX, Linux, FreeBSD, SCO. تعمل معالجة المصدر لـ: SunOS, Sun Solaris, Hewlett-Packard HP-UX, AT&T System V, OSF/1 المعروف بـ Digital UNIX, DEC Ultrix. يمكنه إنتاج ASCII قابل للطباعة فقط (محارف تحكم مجردة)، رؤوس أقسام فقط، Tk، TkMan، [tn]roff (مصدر صفحة دليل تقليدي)، XML، HTML، MIME، LaTeX، LaTeX2e، RTF، Perl 5 POD. تسمح بنية معيارية بإضافة صيغ إخراج إضافية بسهولة.

أحدث إصدار من PolyglotMan متاح من http://polyglotman.sourceforge.net/ .

الخيارات
لا ينبغي استخدام الخيارات التالية مع أي خيارات أخرى وتخرج من PolyglotMan دون معالجة أي إدخال.

-h|--help
    يعرض قائمة خيارات سطر الأوامر ويخرج.

-v|--version
    إظهار رقم الإصدار والخروج.

يجب عليك تحديد المرشح أولاً، لأن هذا يضبط عددًا من المعاملات، ثم تحديد الخيارات الأخرى.

-f|--filter <ASCII|roff|TkMan|Tk|Sections|HTML|XML|MIME|LaTeX|LaTeX2e|RTF|POD>
    يضبط مرشح الإخراج. المبدئي هو ASCII.

-S|--source
    يحاول PolyglotMan تحديد ما إذا كان إدخاله مصدرًا أم منسقًا آليًا؛ استخدم هذا الخيار للإعلان عن إدخال مصدر.

-F|--format|--formatted
    يحاول PolyglotMan تحديد ما إذا كان إدخاله مصدرًا أم منسقًا آليًا؛ استخدم هذا الخيار للإعلان عن إدخال منسق.

-l|--title printf-string
    في وضع HTML، يضبط هذا <TITLE> لصفحات الدليل، مع إعطاء نفس المعاملات مثل -r .

-r|--reference|--manref printf-string
    في وضعي HTML وXML، يضبط هذا نموذج URL لاسترداد صفحات دليل أخرى. يمكن للسلسلة استخدام معاملين مزودين: اسم صفحة الدليل وقسمها. (انظر قسم الأمثلة.) إذا كانت السلسلة فارغة (كما لو تم تعيينها من شِل بواسطة "-r ”")، أو `-' أو `off'، فلن تكون مراجع صفحة الدليل HREFs، بل ستكون مائلة فقط. إذا كان printf الخاص بك يدعم محدد مواضع XPG3، يمكن أن يكون هذا مرنًا جدًا.

-V|--volumes <colon-separated list>
    يضبط قائمة المجلدات الصالحة للتحقق منها عند البحث عن مراجع متقاطعة لصفحات دليل أخرى. المبدئي هو 1:2:3:4:5:6:7:8:9:o:l:n:p (يمكن أن تكون أسماء المجلدات متعددة المحارف). إذا كانت سلسلة غير بيضاء في الصفحة متبوعة فورًا بقوس أيسر، ثم أحد المجلدات الصالحة، وتنتهي بمحارف اختيارية أخرى ثم قوس أيمن--فإن هذه السلسلة تُبلغ كمرجع لصفحة دليل أخرى. إذا بدأت هذه السلسلة -V بعلامة يساوي، فلا يُسمح بمحارف اختيارية بين المطابقة لقائمة الصالحة والقوس الأيمن. (هذا الخيار مطلوب لـ SCO UNIX.)

تنطبق الخيارات التالية فقط عند إعطاء صفحات منسقة كإدخال. لا تنطبق على المصدر أو تُعالج دائمًا بشكل صحيح معه.

-b|--subsections
    يحاول التعرف على عناوين الأقسام الفرعية بالإضافة إلى عناوين الأقسام. يمكن أن يسبب هذا مشاكل في بعض نكهات UNIX.

-K|--nobreak
    يشير إلى أن صفحات الدليل لا تحتوي على فواصل صفحات، لذا لا تبحث عن تذييلات ورؤوس حولها. (ماكرو nroff -man القديمة تضع دائمًا فواصل صفحات، لكن مؤخرًا أدرك بعض البائعين أن المطبوعات تُصنع عبر troff(1)، بينما يُستخدم nroff -man لتنسيق الصفحات للقراءة على الشاشة، ولذا أزالوا فواصل الصفحات.) PolyglotMan عادةً ما يحصل على هذا بشكل صحيح حتى بدون هذه العلامة.

-k|--keep
    يحتفظ بالرؤوس والتذييلات، كتقرير قانوني في نهاية الصفحة. changeleft ينقل أشرطة التغيير، مثل تلك الموجودة في صفحات دليل Tcl/Tk، إلى اليسار. --> notaggressive يعطل التحليل العدواني لصفحة الدليل. التحليل العدواني اليدوي، الذي يكون قيد التشغيل مبدئيًا، يحذف الرؤوس والتذييلات، ويحدد الأقسام والمزيد. -->

-n|--name name
    يضبط اسم صفحة الدليل (المستخدم في صيغة roff). إذا تم إعطاء اسم الملف بالشكل " اسم . قسم "، يتم تحديد الاسم والقسم آليًا. إذا تم تحليل الصفحة من مصدر [tn]roff ولديها سطر .TH، يتم استخراج هذه المعلومات من ذلك السطر.

-p|--paragraph
    تبديل وضع الفقرة. يحدد المرشح ما إذا كان يجب كسر الأسطر كما فعل nroff، أو ما إذا كان يجب تدفق الأسطر معًا في فقرات. بشكل رئيسي للاستخدام الداخلي.

-s|section #
    يضبط رقم المجلد (المعروف أيضًا بالقسم) لصفحة الدليل (المستخدم في صيغة roff). tables يشغل التحليل العدواني للجداول. -->

-t|--tabstops #
    لمجموعات الماكرو التي تستخدم علامات التبويب بدلاً من المسافات حيثما أمكن لتقليل عدد المحارف المستخدمة، يضبط نقاط توقف التبويب كل # عمود. المبدئي هو 8.

ملاحظات حول أنواع المرشحات

  ROFF
بعض نكهات UNIX تشحن صفحة دليل بدون مصدر [tn]roff، مما يجعل طابعة الليزر الخاصة بك لا تزيد عن عجلة أقحوان تعمل بالليزر. يحاول هذا المرشح استنتاج توجيهات [tn]roff الأصلية، والتي يمكن بعد ذلك إعادة تجميعها بواسطة [tn]roff.

  TkMan
TkMan(1)، متصفح صفحات دليل نص تشعبي، يستخدم PolyglotMan لعرض صفحات الدليل بدون الرؤوس والتذييلات (عادةً) عديمة الفائدة في كل صفحة. كما يجمع رؤوس الأقسام و(اختياريًا) الأقسام الفرعية للوصول المباشر من قائمة منسدلة. TkMan وTcl/Tk، مجموعة الأدوات التي كُتب بها، متاحة عبر ftp مجهول من ftp://ftp.smli.com/pub/tcl/

  Tk
يخرج هذا الخيار النص في سلسلة من قوائم Tcl المكونة من أزواج نص-وسوم، حيث تتوافق أسماء الوسوم تقريبًا مع HTML. يمكن إدراج هذا المخرج في عنصر واجهة نص Tk عن طريق تنفيذ eval <textwidget> insert end <text> . يجب أن يكون هذا التنسيق قابلًا للتحليل بسهولة نسبيًا بواسطة برامج أخرى تريد كلاً من النص والوسوم. انظر أيضًا ASCII.

  ASCII
عند طباعتها على طابعة خطية، تحاول صفحات الدليل (man pages) إنتاج تأثيرات نصية خاصة عن طريق تكرار الأحرف فوق بعضها البعض (لإنتاج الخط العريض) واستخدام علامات التسطير (للتسطير). ويجب على برامج معالجة النصوص الأخرى، مثل برامج تحرير النصوص وبرامج البحث والفهرسة، معالجة هذا الأمر. يقوم مرشح ASCII بإزالة هذا التنسيق. كما أن توجيه إخراج nroff عبر col -b يزيل هذا التنسيق أيضًا، ولكنه يترك رؤوس الصفحات وتذييلاتها غير المرغوب فيها. انظر أيضًا Tk.

  Sections
يُخرج عناوين الأقسام و(اختياريًا) عناوين الأقسام الفرعية. وقد يكون ذلك مفيدًا لبرنامج آخر يقوم بمعالجة صفحات الدليل.

  HTML
مع امتداد بسيط لخادم HTTP لمتصفح Mosaic(1) أو أي متصفح ويب آخر، يمكن لـ PolyglotMan إنتاج HTML عالي الجودة آلي. العديد من هذه الامتدادات والإشارات إلى أخرى متضمنة في دليل contrib الخاص بـ PolyglotMan .

  XML
هذا يقترب من Docbook DTD، لكني آمل أن يقوم شخص مهتم حقًا بهذا بتلميع الوسوم المولدة. جربه لترى مدى قرب الوسوم الآن.

  MIME
MIME (ملحقات البريد الإلكتروني متعددة الأغراض) كما هو معرف بواسطة RFC 1563، مناسب للاستهلاك بواسطة برامج البريد الإلكتروني الواعية بـ MIME أو كمستندات Emacs (>=19.29) المثرية.

  LaTeX و LaTeX2e
لم لا؟

  RTF
استخدم المخرجات على Mac أو NeXT أو أي شيء آخر. ربما خذ صفحات دليل عشوائية وادمجها بشكل أفضل مع نظام توثيق NeXT. ربما لدى NeXT وحدات ماكرو خاصة بصفحات الدليل تفعل ذلك.

  PostScript و FrameMaker
لإنتاج PostScript، استخدم groff أو psroff . لإنتاج FrameMaker MIF، استخدم المرشح المدمج في FrameMaker. في كلتا الحالتين تحتاج إلى مصدر [tn]roff ، لذا إذا كان لديك فقط نسخة منسقة من صفحة الدليل، استخدم مرشح roff الخاص بـ PolyglotMan أولاً.

أمثلة
لتحويل صفحة الدليل المنسقة المسماة ls.1 مرة أخرى إلى شكل مصدر [tn]roff:

rman -f roff /usr/local/man/cat1/ls.1 > /usr/local/man/man1/ls.1

صفحات الدليل الطويلة غالبًا ما تكون مضغوطة للحفاظ على المساحة (الضغط فعال بشكل خاص على صفحات الدليل المنسقة لأن العديد من الأحرف هي مسافات). نظرًا لأنها صفحة دليل طويلة، فمن المحتمل أن تحتوي على أقسام فرعية، نحاول فصلها (بعض مجموعات الماكرو لا تميز الأقسام الفرعية بشكل كافٍ ليكتشفها PolyglotMan ). لنحول هذا إلى تنسيق LaTeX:

pcat /usr/catman/a_man/cat1/automount.z | rman -b -n automount -s 1 -f latex > automount.man

بدلاً من ذلك، man 1 automount | rman -b -n automount -s 1 -f latex > automount.man

لمستخدمي HTML/Mosaic، يمكن لـ PolyglotMan ، دون تعديل الكود المصدري، إنتاج روابط HTML تشير إلى صفحات دليل HTML أخرى إما مولدة مسبقًا أو مولدة آلي. أولاً لنفترض إصدارات HTML مولدة مسبقًا من صفحات الدليل مخزنة في /usr/share/man/html . قم بتوليدها واحدة تلو الأخرى بالشكل التالي:
rman -f html -r 'http:/usr/share/man/html/%s.%s.html' /usr/share/man/cat1/ls.1 > /usr/share/man/html/ls.1.html

إذا قمت بتوسيع عميل HTML الخاص بك لتوليد HTML آلي، يجب استخدام شيء مثل:
rman -f html -r 'http:~/bin/man2html?%s:%s' /usr/share/man/cat1/ls.1
عند توليد HTML.

الأخطاء/عدم التوافق
PolyglotMan ليس مثاليًا في جميع الحالات، لكنه عادةً يقوم بعمل جيد، وفي أي حال يقلل مشكلة تحويل صفحات الدليل إلى تحرير خفيف.

الجداول في الصفحات المنسقة، خاصة H-P، لا تُعالج بشكل جيد. تأكد من تمرير المصدر للصفحة للتعرف على الجداول.

مُقلّب الدليل woman(1) يطبق فكرته الخاصة عن التنسيق لصفحات الدليل، مما قد يربك PolyglotMan . تجاوز woman بتمرير نص صفحة الدليل المنسق مباشرة إلى PolyglotMan .

تنسيق مخرجات [tn]roff يستخدم fB لتشغيل الخط العريض. إذا كانت مجموعة الماكرو الخاصة بك تتطلب .B، ستحتاج إلى معالجة لاحقة لمخرجات PolyglotMan .

انظر أيضًا
tkman(1) , xman(1) , man(1) , man(7) أو man(5) اعتمادًا على نكهة UNIX الخاصة بك

المؤلف
PolyglotMan
بواسطة Thomas A. Phelps ( phelps@ACM.org )
طُوّر في
جامعة كاليفورنيا، بيركلي
قسم علوم الحاسوب

آخر تحديث لصفحة الدليل في $Date: 1998/07/13 09:47:28 $

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.