دليل المترجم

من ويكي عربآيز
نسخة 14:28، 8 أبريل 2008 للمستخدم عبدالعزيز الشريف (ناقش | مساهمات) (مشاريع الترجمة الجديدة)
اذهب إلى: تصفح، ابحث

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

الخطوات الأولى

إن كنت محظوظاً كفاية بأن تمتلك مهارات جيدة باللغتين العربية والإنجليزية (أي، تتحدثها بطلاقة ويمكنك كتابتها دون صعوبة) وقررت أن تساهم في الترجمة [1]، فسوف نريك ونضع النقاط الرئيسية لك لما تحتاج أن تقوم به كي تصبح عضواً ومترجماً فعّالاً ضمن مشروع عربايز وفريق متحمسيه. إشترك في قائمة التوثيق 'doc' ثم تفحص، واقرأ خلال وتابع أرشيف قائمة التوثيق. أرسل رسالة إلى قائمة التوثيق doc@arabeyes.org وعرف عن نفسك وأين تكمن اهتماماتك وأي المشاريع يثير فضولك (راجع قائمة المشاريع للخيارات) سوف يقوم منسّق المشروع بتعيين مهمة لك (إذا لزم الأمر): ملف، أو قائمة ملفات أو وِحدة لترجمتها. قم بالتسجيل كي تحصل على حساب CVS. سوف يعطيك ذلك القدرة على المشاركة بعملك ضمن عربايز (إقرأ CVS HOWTO). يمكنك، في أي مرحلة بالطبع، أن تشترك في النقاشات على قائمة التوثيق 'doc' البريدية وإرسال أفكارك، اقتراحاتك أو أسئلتك. سوف يكون المنسّق أو أحد المترجمين العارفين ذوي الخبرة المناسبة أكثر من مسرور للردّ على تساؤلاتك.

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

بعد القيام بالتسجيل أو في حين انتظار رسالة معلومات حساب CVS (والذي يتم إرساله خلال يومين إلى ثلاثة أيام)، يمكنك التقدم بالخطوات التالية: يجب أن يكون دعم اللغة العربية مُعدّاً على نظامك. إن لم يكن لديك دعم العربية مسبقاً على نظام لينكس، رجاءً راجع مستند Arabic HOWTO حتى تقوم بالإعداد السليم. إن كنت تستخدم نظام تشغيل ويندوز على جهازك، فنحن نقترح بشدّة أن تبدأ باستخدام لينكس عِوضاً عن ذلك، وخذ بالاعتبار تثبيتاً ذا جزئين، للقرص الصلب، بحيث تستطيع استخدام كلاهما. سوف يفتح لك لينكس أبواباً عديدة جديدة ويوفر لك إمكانية اكتشاف العالم الرائع لبرامج المصدر المفتوح :-) أيضاً، سوف لن تحصل على الأرجح على أجوبة جيدة لأسئلك إن أصريت على استخدام نظام ويندوز، حيث أن معظم المستخدمين في عربايز، إن لم يكن كلهم، يستخدمون لينكس أو نظاماً مشتقاً من يونكس. حالما قررت بأي من المشاريع تريد العمل، تقدّم إلى الحصول على الملفات. إن كان لديك اتصال سريع بالانترنت (DSL أو أفضل من ذلك أو تنوي البقاء متصلاً لفترات طويلة من الوقت باستخدام اتصال المودم)، فيقترح أن تقوم بنسخ ملفات المشروع بالكامل، أي إن كنت تريد العمل بمشروع ترجمة جنوم على سبيل المثال، فقم بنسخ الدليل translate/gnome/. النسخ الكامل للملفات سيساعدك في بناء قاعدة الترجمة لكيبابل ضمن الأشياء الأخرى. من ناحية أخرى، إن كان لديك اتصال انترنت محدود ووقت محدود كذلك، يمكنك القيام بتنزيل الملفات التي سوف تعمل عليها بجد وتترجمها. رجاءً الانتباه إلى أنك لا تحتاج إلى حساب CVS لتنسخ الملفات؛ راجع قسم الوصول في مستند CVS HOWTO للمزيد من المعلومات. استمر بقراءة هذا المستند منتبهً لتعليمات ترجمة محددة (common) بالإضافة إلى أدوات الترجمة (tools). عليك أيضاً بقراءة مقاييس التوثيق العربي للحصول على فكرة أفضل. إبدأ بترجمة الملفات :-) رجاءً قم بإرسال ترجماتك بشكل منتظم. ليس عليك الانتظار حتى تكمل ترجمة الملف كي ترسله إلى نظام CVS كذلك. راجع تعليمات CVS HOWTO القسم الخاص بإرسال التعديلات. عملية "الإرسال المنتظم" هي عملية مهمة كي نتفادى الكوارث، على سبيل المثال حذف ملف والتضاربات، مع أنها لا تحدث كثيراً حيث أن شخصاً واحداً يجب أن يعمل على نفس الملف في وقت واحد. إن لم تستطع إرسال تعديلاتك لسبب من الأسباب من خلال نظام CVS، فيمكنك إرسال الملف بواسطة البريد الإلكتروني إلى translate (at) arabeyes dot org وتخبر أنك فعلت ذلك من خلال قائمة التوثيق 'doc'.

مراجع الترجمة على الإنترنت

هذه قائمة ببعض المراجع المعتادة والتي قد تجدها مفيدة خلال الترجمة والتي يمكنك استخدامها بالإضافة إلى أي قاموس مطبوع قد يكون لديك. يفضل استخدام المصطلحات التقنية ومصطلحات الكمبيوتر، وبخاصة التي حررتها ALECSO. ملفات PO المترجمة مسبقاً هي أيضاً مرجع جيد. إن كان لا يزال لديك مشاكل بكلمة أو تعبير ولا تستطيع ترجمته، فعليك بالإعلام عن ذلك من خلال قائمة التوثيق 'doc'. موقع عجيب. يمكنك استخدام القاموس مباشرة أو قسم الترجمة. موقع المسبار. معجم قاموس. موقع Onelook والذي هو موقع باللغة الإنجليزية يجمع العديد من المعاجم عبر الإنترنت. استخدمه لتجد المصطلحات الإنجليزية للكلمات التي لست متأكداً منها. Multidisciplinary Dictionary. الكلمات الغريبة.

التوجيهات العامة والاقتراحات

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

ملفات 'PO' و 'POT'

بيئات سطح المكتب الرسومية مثل كدي وجنوم والتطبيقات العديدة التي تشملها مكتوبة بلغات C/C++ البرمجية. ترجمة هذه البيئات تعني ترجمة عشرات الآلاف من النصوص الظاهرة للمستخدم من لغتها الأم،أي الإنجليزية، للغة المطلوبة، وهي العربية. لا يتم هذا عن طريق نسخ الشيفرة المصدرية واستبدال كل النص الإنجليزي بمقابله العربي، بل إنه يتم بترجمة النصوص المستخرجة مسبقاً في ملفات عديدة كي تسهل العملية بأكملها. بذلك، يتم استخلاص النصوص الظاهرة للمستخدم من الشيفرة المصدرية باستخدام برنامج يسمى 'gettext'. تؤخذ هذه النصوص ثم تخزن في ملف نصّي ذي امتداد '.pot'. يعني هذا الامتداد أن الملف لم يتم ترجمته بعد، أي أنه بصيغته الأصلية. إذا أردت البدء بترجمة ملف من نوع 'POT'، فعليك أولاً إعادة تسميته بنفس الإسم ولكن بامتداد '.po'. لنقل أنك تريد البدء بترجمة الملف 'filename.pot'، فإنك حينها تستخدم الأمر:

$ mv filename.pot filename.po

اعمل على ترجمة الملف وعندما تكون راضياً عن كمّ العمل الذي أنجزته، قم بما يلي:

$ cvs remove filename.pot
$ cvs add filename.po
$ cvs commit[2]

يعني الامتداد '.po' أن الترجمة بُدأت على هذا الملف، دون أن تعني بالضرورة أنها انتهت. تذكر رجاءً ألا تترجم ملفات 'POT' إطلاقاً. إما أن تكون الملفات التي تقوم بترجمتها ذات امتداد '.po' أو أنك ستجبر على أن تعيد تسميتهم بناءً على ما سبق شرحه. لست مجبراً على تغيير امتداد الملفات 'POT' التي سوف لن تقوم بترجمتها في المستقبل القريب. إعادة التسمية هذه أصبحت تعني نوعاً ما أن الشخص الذي قام بإعادة التسمية يملك الملفات وسيكون عاملاً عليها. إن كان لديك أية أسئلة أو شكوك، راسل قائمة التوثيق البريدية. في وقت التنفيذ، سوف تقوم بيئة سطح المكتب بتحميل النصوص الظاهرة للمستخدم من ملفات 'PO' للغة المطلوبة وتقوم بإظهارها تباعاً دون أي تغيير ظاهر في عمل البرنامج. إذا كانت الترجمة غير مكتملة، فسوف تقوم البيئة بإظهار النص الإنجليزي حيث تفتقد الترجمة. الأقسام اللاحقة سوف تعطيك بعض التعليمات فيما يخص طريقة ترجمة ملفات 'PO'. تذكر أنه بإمكانك دائماً أن تستخدم قائمة الترجمة البريدية عندما يكون لديك أي تساؤلات، حيث أنه من غير الواقعي أن ندعي أن هذه التعليمات تحل كل المشاكل التي قد يواجهها المترجم. نشجّع المترجمين كذلك على مراجعة الملفات المترجمة مسبقاً في مستودع CVS كفرصة جيدة للتعلم أكثر حول الأمور المدوّنة.

بنية ملفات 'PO'

العنوان الرأسي

تحتوي كل الملفات معلومات مرتبطة بها فيما يتعلق بمن قام بالترجمة، وما هو التشفير المستخدم، بيانات تواريخ متعددة، كوقت الإنشاء والمراجعة ..إلخ. هذه المعلومات كلها تخزن ضمن بداية الملف. هذه المعلومات طبعاً قابلة للتغيير حيث أنها قابلة للتعديل. فيما يلي، عنوان رأسي لملف منشأ جديد:

#, fuzzy
msgid "" 
msgstr "" 
"Project-Id-Version: desktop files\n" 
"POT-Creation-Date: 2002-08-14 03:34+0200\n" 
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
"Language-Team: LANGUAGE <LL@li.org>\n" 
"MIME-Version: 1.0\n" 
"Content-Type: text/plain; charset=CHARSET\n" 
"Content-Transfer-Encoding: ENCODING\n "

مع كل الملفات الجديدة عليك إزالة السطر "#, fuzzy" وتضيف إلى بداية الملف هذا السطر "# translation of filename.po to Arabic" مستبدلاً "filename.po" بالاسم المناسب للملف الذي تقوم بترجمته، وأضف معلومات حقوق النشر "# Copyright (C) 2003 Free Software Foundation, Inc." وثم يمكنك إضافة اسمك وعنوانك البريدي بعد سطر حقوق النشر، ويكون هذا لائحة أسماء المترجمين. بعد ذلك، استبدل "Last-Translator:"، "Language-Team:"، "Content-Type:" و "Content-Transfer-Encoding:" بحيث يظهرون كما هو مبين أدناه، ولاتهتم بأي شيء آخر موجود أو غير موجود للوقت الحالي. إن كنت ستستخدم محرر نصوص كي تترجم الملفات، على خلاف أداة الترجمة كيبيبل، وتذكر كذلك أن تقوم بتحدث السطر "PO-Revision-Date:" في كل مرة تحفظ فيها الملف. فيما يلي، مثال على العنوان الرأسي خلال عمل الترجمة، أو بعد الانتهاء منها:

# translation of desktop_kde-i18n.po to Arabic
# desktop.po - Arabic Translation. 
# Copyright (C) 2001,2002,2003 Free Software Foundation, Inc. 
# Name1 Surname1 <A_address/@domain_1.com>, 2001. 
# Name2 Surname2 <B_address/@domain_2.net>, 2002 
# Name3 Surname3 <C_address/@domain_3.org>, 2002,2003 
# 
msgid "" 
msgstr "" 
"Project-Id-Version: desktop_kde-i18n\n" 
"POT-Creation-Date: 2003-03-02 20:47+0100\n" 
"PO-Revision-Date: 2003-02-26 21:27+0200\n" 
"Last-Translator: Name3 Surname3 <C_address/@domain_3.org>\n" 
"Language-Team: Arabic <support at arabeyes.org>\n" 
"MIME-Version: 1.0\n" 
"Content-Type: text/plain; charset=UTF-8\n" 
"Content-Transfer-Encoding: 8bit\n" 
"X-Generator: KBabel 1.0.1\n "

الأسطر التي تبدأ بالعلامة '#' هي ملاحظات. إن كنت تستخدم برنامج ترجمة مثل كيبيبل، فإن بعض الحقول الرئيسية مثل "X-Generator:" سيتم إنشاءها تلقائياً. إن كنت تعمل على ملف 'PO' بدء أحد آخر بترجمته مسبقاً، وقمت بتغييرات كبيرة ، فقم فقط بإضافة اسمك إلى لائحة المترجمين وضع إسمك وعنوانك البريدي في الحق "Last-Translator:"، بعد التحقق من أن الشخص الذي كان اسمه في الحقل "Last-Translator:" مضاف مسبقاً في لائحة المترجمين، وإلا أضف اسمه إلى اللائحة. تأكد أيضاً من أن الحقول المذكورة أعلاه تحتوي على القيم الكاملة والصحيحة، وإلا فقم بتعديلها. تذكر دائماً أن تضيف اسمك إلى لائحة المترجمين. ذلك مهم جداً حتى نعلم من قام بالتعديل الأخير على الملف وللتأكد من أن تحصل على الجزاء الذي تستحقه لعملك :-)

المحتوي والنصوص

بعد العنوان الرئيسي، يحتوي ملف 'PO' على أسطر من 'msgid' و 'msgstr'، يسبقها في بعض الأحيان ملاحظات حول الموقع بالضبط الذي تظهر فيه هذه النصوص في الشيفرة المصدرية [3]. يكون السطر 'msgid' محتوياً مسبقاً على النص الإنجليزي الذي يجب ترجمته. ما يجب على المترجم عمله هو أن يضيف إلى 'msgstr' ترجمة ما هو مكتوب في 'msgid' باللغة العربية، ولا تقم بحذف علامة التنصيص ' " '. فيما يلي، أمثلة منتقاة من ملفات 'PO' مختلفة،

#: finddialog.cpp:55
msgid "Galaxies" 
msgstr  "مجرّات"
msgid "" 
"_: do not use a target symbol\n" 
"No Symbol" 
msgstr "" 
#: src/acme.h:80 
#, fuzzy 
msgid "Eject key" 
msgstr  "مفتاح الإخراج"

أول 'msgid' مترجم ببساطة، أما السطر الثاني فليس مترجماً بعد، ولذلك يظهر 'msgstr' فارغاً. السطر الثالث مترجم إلا أن المترجم وضع عبارة "#, fuzzy" قبل المجموعة. المؤشر "fuzzy" هو طريقة يستطيع بها المترجم على أن يدل أنه غير متأكد من المصطلح وأن المراجعة مطلوبة. العلامة "#," هي ذات أهمية كبيرة، حيث أنها ترتيب أحرف معين. ومن المهم أن تلاحظ أن عبارة "#, fuzzy" يجب أن تسبق السطر 'msgid'.

الملاحظات ضمن 'msgid' ('_:')

نصوص 'msgid' التي تبدأ بـ '_:' تشير إلى وجود ملاحظة لتساعد المترجم أو تعطيه معلومات أكثر حول الرسالة المطلوب ترجمتها. تنتهي الملاحظة بسطر جديد '\n' (new line). لا تقم بترجمة ملاحظة المساعدة وضع ببساطة فقط ترجمة ما يلي الملاحظة و '\n' بناءً على ما فهمته من توجيهها لك. مثال:

#: cupsdconf.cpp:808 cupsdconf.cpp:831 cupsdconf.cpp:847
msgid "" 
"_: Base\n"
"Root"
msgstr ""
"الجذر"

كلمات خاصة ضمن 'msgid' ) 'Comment=' أو 'Name=' أو غيرها)

ترجم فقط ما يلي الحرف '=' بإبقاء النص دون تغيير، أي لا تقم بترجمة أو تعديل الكلمة "Comment" أو "Name"؛ أبق الكلمات بالإنجليزية. مثال:

#: kde-i18n/vi/messages/entry.desktop:1
msgid "Name=Vietnamese"
msgstr "Name=الفييتنامية"

أوامر HTML ضمن 'msgid'

تستخدم بعض التطبيقات مزايا النصوص الغنية (للفقرات، والألوان، والخطوط العريضة.. إلخ) كي تجعل النصوص تظهر بشكل أجمل. يتم هذا باستخدام أوامر HTML كمثل "

" على سبيل المثال. إنه من المهم جداً أن يبقي النص المترجم على كل هذه الأوامر. هذا هو الحال أيضاً بالنسبة لأحرف الطباعة للغة C كمثل "\n" أو "\t" أو "%s" وما شابه ذلك. ترجم النص بين الأوامر فقط. أيضاً، تذكر أنك عندما تستخدم وضع الإدخال ذي الاتجاه الأيمن-إلى-الأيسر، أي أنك تطبع باللغة العربية، قد يبدو التتالي "\n" غريباً. في أي من الوضعين، تذكر أنك يجب أن تبدأ بالحرف "\" ثم "n" بغض النظر عن كيفية ظهورهما على الشاشة. مثال:

#: kio/kio/global.cpp:451
msgid "</p><p>Details of the Request:"
msgstr "</p><p>تفاصيل الطّلب:"

الأسطر الجديدة وعلامات التنقيط ضمن 'msgid'

أبق علامات التنقيط في النص المترجم على ما هي عليه في النص الأصلي. يجب أن تتضمن أيضاً الأسطر الجديدة. أي، إذا كان هناك عدة نصوص في 'msgid' واحدة، يجب أن تشابه 'msgstr' النص الأصلي من حيث عدد الأسطر، ويجب تجاهل الأسطر التي تبدأ بـ "_:" كما هو مبيّن أعلاه، حيث أنها مجرد ملاحظات. راجع المثال comments.

نصوص 'msgstr' ذات السرد المتعدد لصيغ الجمع

ميزة الصيغ المتعدد توفر إمكانية إظهار الكلمات بالصيغ الصحيحة بناءً على الكمية. تميّز الكميات بالعلامة "%n". مثال:

msgid "_n: one cat\n"
"%n cats"
msgstr "قطّة واحدة\n"
"قطّتان\n"
"%n قطط\n"
"%n قطّة"          

سطر 'msgstr' الأول يظهر عندما يكون لدينا قطة مفردة. أما الثاني فيظهر عندما يكون هناك قطتان. والثالث يظهر عندما يكون هناك ثلاث وحتى عشر قطط. أما السطر الأخير فيظهر عندما يكون عدد القطط أكثر من أو مساويٍ لأحدى عشرة قطة. ليس هناك داعٍ لإضافة "_n" في النص المترجم. لا تنسَ أن تستخدم علامة "\n" للفصل بين المدخلات المختلفة.

مفاتيح الوصول والشرطة السفلى في 'msgid'

الأحرف التي يسبقها الحرف ("_") تسمى مفاتيح الوصول أو المسرّعات. يستخدم مفتاح الوصول بغرض الوصول المباشر إلى القائمة بدلاً من اختيارها بواسطة الماوس أو المؤشر. يجب ترجمة المسرّعات لتتناسب مع لوحة المفاتيح العربية. هذا يعني أنه عليك أن تختار حرفاً من الكلمة، أو الجملة، كمُسرّع. حاول ألّا تعيّن الحرف نفسه لمُسرّعين في نفس القائمة؛ يمكنك أن تحزر ذلك من موضع وجود 'msgid' على سبيل المثال. كقاعدة أساسية، عيّن الحرف الأول من الكلمة كمُسرّع، وإن كان ذلك الحرف مستخدماً كمفتاح وصول في النص الحالي، عيّن الحرف الثاني، وهلم جرى. رجاءً، حاول أن تكون متناسقاً.

الأسماء والاختصارات بداخل 'msgid'

الأسماء - الناس، الأماكن، بعض البرامج - يمكن ترجمتها حرفياً إلى العربية، والبعض الآخر يمكن ترجمته بالكامل أو جزئياً إلى العربية. الاختصارات كمثل ASCII وHTTP وC++ إلخ، يجب أن تبقى كما هي بالأحرف اللاتينية. وهذا تماماً هو الحال بالنسبة لأسماء التصنيفات، والمتغيرات، إلخ. تذكر أن تقرأ مقاييس التوثيق العربي. إن كنت في شك، راسل قائمة التوثيق 'doc' البريدية.

الأحرف الخاصة ضمن 'msgid'

بعض الأحرف الخاصة مثل "&" يجب أن تدخل مرتين لتخبر المدقق أن يبقيها كما هي. رجاءً قم بترجمة هذا وأخذه بعين الاعتبار عند الحاجة. مثال:

#: rc.cpp:19
msgid "Color && Animation"
msgstr "اللّون و الحركة"

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

خيارات القائمة مثل "Edit"، "Save"، "Quit" إلخ، وما شابه ذلك يجب أن تترجم إلى العربية بصيغة الأمر. نقوم بهذا لغرض التطبيع، اتباع ما هو موجود، ولكي نعبر عن تفاعل حيّ أكثر بين المستخدم والجهاز. لهذا أهمية قصوى. مثال:

#: ktouch.cpp:239
msgid "Save file..."
msgstr "إحفظ ملفّ..."

ترميز UTF-8

رجاءً تذكر دائماً أن تحفظ ملفاتك بترميز UTF-8 [4] وإلا، فسوف يسبب ذلك عدم إمكانية قراءته من قبل الآخرين. ترميز UTF-8 هو ترميز عالمي شامل، أنشئته وتصونه يونيكود. يمكن UTF-8 المستخدم من أن يرمِّر كل لغات العالم بالإضافة للعديد من الرموز، الحسابية على سبيل المثال، في ملف واحد. قبل وجود يونيكود وUTF-8، كان تبادل الوثائق بين الأنظمة المعدة للاستخدام المحلي شبه مستحيل. لذلك فإنه من المهم جداً أن يحفظ كل العمل باستخدام ترميز UTF-8، كما أن إرسال الرسائل العربية إلى قائمة التوثيق 'doc' يجب أن يكون أيضاً باستخدام هذا الترميز. عندما يتم إعداد كيبيبل بشكل صحيح، ويأتي ذكر ذلك لاحقاً، فسوف يقوم بحفظ كل ملفاتك بترميز UTF-8. من ناحية أخرى، إن استخدمت محرر نصوص لتقوم بالترجمة، فالرجاء أن تتأكد من أنه يدعم ترميز UTF-8 وأنه بالفعل يقوم بحفظ عملك بذلك الترميز. يمكنك التحقق من ذلك عن طريق الأمر:

$ file filename.po

سوف يظهر لك هذا الأمر ترميز الملف filename.po. إذا بدأت بالعمل على ملف ووجدت أنه غير محفوظ بترميز UTF-8 أو أن به مشكلة ترميز ، كأن يظهر مربعات بدلاً من الأحرف العادية على سبيل المثال، فتوقف عن العمل مباشرة وأرسل تقريراً بهذه المشكلة إلى قائمة التوثيق 'doc' البريدية. حالما يتم التقرير وقبل الحصول على الحل، قم بالعمل على ملف آخر بدلاً من الانتظار عاطلاً :-)

التأكد من صحة الملف

كي تتأكد من أن ملف 'PO' التي قمت بترجمته لا يحتوي على أية أخطاء جملية أو تركيبية، يجب عليك أن تنفذ الأمر، $ msgfmt -c --statistics filename.po

حيث أن 'msgfmt' هو أحد الأوامر المتوفرة في حزمة 'gettext' من جنيو. إن كان هناك أية أخطاء، فسوف تعلم بها مع رقم السطر المناسب حتى تستطيع أن تجد الخطأ وتصححه بسهولة، والذي قد يكون عامة نسيان إضافة علامة تنصيص. بإزالة أية أخطاء، سوف يقوم الأمر "msgfmt" بتزويدك بإحصائيات حول ما قد ترجم، وما لم يترجم وكم من النصوص هي غير مؤكدة في الملف. الرجاء إضافة هذه الإحصائيات في سجل إرسال التعديلات، أي عندما تقوم بإرسال ملفاتك إلى مخزن نظام CVS.

لائحة تفحص إرسال التعديلات

بعد ترجمة ملف 'PO' بالكامل أو جزئياً والذي تقرر أنه يجب إرساله إلى المخزن، عليك أن فعليك بإرساله. هذه لائحة بالأشياء التي يجب عليك القيام بها قبل إرسال أي ملفات:

أن يكون للملف امتداد 'PO'. 
أن تكون أدخلت المعلومات الصحيحة في رأس الملف. 
أن يكون الملف محفوظاً ومشفراً باستخدام UTF-8. 
أن تكون تأكدت من أنه ليس هناك أية أخطاء باستخدام الأمر 'msgfmt'. 

إن لم يمكن إنجاز أي مما سبق ذكره، فرجاءً راجع ما قد ناقشناه في الأعلى كي تحل أية مشاكل. وإلا، فإن ملفاتك مخولة لوضعها في نظام CVS. إن كنت عملت على وترجمت عدة ملفات في نفس الوقت، فرجاءً أن تقوم بإرسال تلك الملفات جميعاً باستخدام الأمر 'cvs commit' بدل أن ترسل كلاً منهم على حدة، حيث يقلل ذلك الضغط على الشبكة والمشاكل وغيرها. خلال إرسال التعديلات، وذلك مهم جداً، تذكر أن تضيف إحصائيات ترجمة الملفات إلى سجل التعديلات، وتتضمن عدد النصوص التي ترجمت، أو لم تترجم أو هي غير مؤكدة في كل ملف. في حال حدوث تضارب، والذي هو نادر جداً، رجاءً راجع المستند كيف إلى CVS.

[2] سجلّ الإرسال إلى نظام CVS يجب أن يكون شيئاً بنسق "تم تغيير الملف filename.pot إلى filename.po"، كما يجب إضافة إحصائيات الترجمة كما هو مشار إليه في error-check. إذا قمت بإعادة تسمية أكثر من ملف 'POT'، فقم رجاءً بإرسالهم جميعاً باستخدام أمر واحد. بمعنى آخر، بعض نقل، أو إضافة، أو حذف كل الملفات، قم بعمل 'cvs commit' وسيتم أخذ كل الملفات. إن كان لديك أي شك، راجع المستند CVS HOWTO، قسم 'إرسال عدة ملفات'. [3] هذا النوع من الملاحظات يبدأ بعلامة "#:" في أول السطر. [4] هذا المستند مكتوب بتشفير UTF-8، فقم بتحديد هذا التشفير لتعرضه بشكل صحيح.

أدوات الترجمة

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

محررات النصوص

إذا قرأت common بتمعّن وبالكامل، فسيمكنك البدء بالترجمة باستخدام محرر نصوص يوفّر تشفير UTF-8. على كل حال،نقترح عليك أن تأخذ بعين الاعتبار بعض الأدوات المذكورة أدناه حيث أنها سوف تسهّل عليك عملك وتزيد من متعة العمل المطلوب. محرّر النصوص، بخلاف تطبيق الترجمة، يتطلب منك انتباهاً إضافياً إلى علامات التنصيص المزعجة ` " `، والتي يتم حذفها غالباً بطريق الخطأ، وسيعرضك للقيام بالأخطاء غالباً، ولن يوفر لك قاعدة بيانات لتساعدك ولن تكون قادراً على القيام بما يسمونه "الترجمة التقريبية". باختصار، حاول استخدام تطبيق ترجمة وقيّم الأدوات المشابهة لكيبيبل أو gTranslator، حيث أن كل الغرض منها تسهيل عمل المترجم :-) إن ووجهت بحقيقة أنك تستطيع فقط استخدام محرّر نصوص، فتأكد من أنه يدعم تشفير UTF-8. نقترح أن تستخدم آخر إصدار من محرّر نصوص عربايز كتوب. كل محررات النصوص الأخرى الآلفة لتشفير UTF-8 مقبولة أيضاً.

كيبيبل ( Kbabel )

إن كنت تستخدم بيئة سطح المكتب كدي، فلا بد أن كيبيبل مثبت مسبقاً. وإلا، فيمكنك تنزيل الإصدار المستقر الأخير من موقع كيبيبل.

التخصيص

عندما تقوم بتشيغل كيبيبل لأول مرة، فسيفتح لك مربع حوار التفضيلات. ستحتاج أن تقوم بتعبئة بعض الحقول حيث يسهل هذا العملية ولن تكون مطالباً بإدخال تلك المعلومات في العديد من العناوين الرأسية لملفات "PO". إن لم يتم فتح مربع الحوار هذا، فيمكنك فتحه من خلال Settings->Configure KBabel . أنظر figure كي ترى نوع المعلومات التي تحتاج أن تدخلها في هذا الحوار. تحقق من أن كلّ خياراتك تبدو مشابهة لتلك التي في صورة الشاشة، عدا معلومات الشخصية طبعاً: إسمك، بريدك الإلكتروني، إلخ. Figure 1. إعداد كيبيبل لا زلت مطالباً بتحرير العنوان الرئيسي لملف "PO" قبل أن تحفظ أي ملف مفتوح حديثاً، حتى تضيف معلومات حقوق النسخ وتنقل اسم آخر مترجم إلى قائمة المترجمين، إن لم هناك هناك مسبقاً، وتضع معلوماتك في قائمة المترجمين أيضاً. قم بذلك من خلال قائمة Edit->Edit Header . كل الحقول الأخرى للعنوان الرأسي سوف تعبأ تلقائياً بواسطة كيبيبل، إن قمت بإعداده بشكل صحيح.

إنشاء قاعدة بيانات

إنشاء قاعدة البيانات، والتي تعرف أحياناً بـ"القاموس"، مهمّ، حيث يسمح لك ذلك بعمل الترجمات "التقريبية". تمكن قاعدة البيانات أيضاً كيبيبل من أن يقترح عليك الترجمات المحتملة للعديد من نصوص 'msgid'. عندما تهمّ بإنشاء قاعدة البيانات، يفضّل أن يكون لديك أكبر عدد من ملفات `PO` التي يمكنك الحصول عليها، كل اولئك من مخزن CVS لعربايز التي تتعلق بكدي و/أو جنوم على سبيل المثال، حتى تستطيع بناء قاعدة بيانات غنيّة وملئى. إذهب إلى Settings->Configure Dictionary->Translation database. اختر تبويب "Database" ثم اضغط على زر "Scan directory and subdirectories". اختر الدليل الذي يحتوي على ملفات `PO` ثم اضغط على زر "OK". ستستغرق العملية حوالى عشرة دقائق. إضغط على تبويب "Search" وطابق ما هو موضح في figure. بعد ذلك اختر Settings->Configure KBabel وتأكد من أن تحديد مربع اختيار "Automatically start search". سوف تريد أيضاً أن تختار "Translation database" في قائمة "Default Dictionary" المنسدلة. Figure 2. البحث التلقائي في قاعدة البيانات البحث التلقائي في قاعدة البيانات.

الترجمة

ينشئ كيبيبل نافذتين، تحتوي العليا على 'msgid' وتستخدم السفلى لإدخال ترجماتك (figure). خذ بعين الاعتبار كل ما ذكر حول التنقيط، من علامة "_:" وأحرف "="، وصيغ الجمع، إلخ. لا تكترث لعلامات التنصيص التي تحيط الرسائل حيث أن كيبيبل يضعها تلقائياً. إن لم تكن متأكداً من ترجمتك لأي نص، يمكنك تحديده بعلامة "fuzzy" بكتابة "#, fuzzy" دون علامات التنصيص في نافذة "Comment" في الجانب الأيمن لنافذة "msgid". إذا قمت بأية أخطاء كجزء من علامات التنقيط أو بإضافة مسرّع لا حاجة له مثلاً، فسيقوم كيبيبل بتحديد النص بـ"faulty". هذا مفيد جداً حيث أنه ينبهك حول أية أخطاء خلال الترجمة ويقلل من احتمالات الخطأ. إن كان نص 'msgstr' فارغاً، يحدّد مباشرةً بأنه "غير مترجم". حالما تطبع أي حرف في تلك النافذة، يحدد النص على نص "مترجم". رجاءً تحقق من صحّة ترجمتك قبل الانتقال إلى المدخلات التالية. Figure 3. واجهة كيبيبل واجهة كيبيبل

الترجمة التقريبية

حتى تستطيع استخدام الترجمة التقريبية، يجب أن تكون قد قمت بإنشاء قاعدة بيانات كما سبق ذكره. الترجمة التقريبية هي طريقة لتوفير وقتك بجعل كيبيبل يقوم بإعادة الكتابة عنك والنسخ واللصق للنصوص التي هي موجودة مسبقاً في قاعدة البيانات، أو أي ملفات 'PO' أخرى. سوف تقوم الترجمة التقريبية أيضاً باقتراح ترجمات لنصوص 'msgid' التي ليست في قاعدة البيانات أيضاً. بمعنى آخر، سوف تقوم ببعض التخمين. حالما تنتهي من إنشاء قاعدة بيانات الترجمة، يمكنك بدء تشغيل الترجمة التقريبية من قائمة Tools->Rough translation... قبل الضغط على زر "إبدأ"، تأكد من أن مربع الحوار يشابه الذي في figure، حتى يتم تحديد النصوص المترجمة حديثاً بـ"fuzzy". سوف يجبرك هذا والآخرين على مراجعة تلك الترجمات التقريبية (المخمنة) وتصحيح أي أخطاء محتملة وإعادة كتابتها. Figure 4. الترجمة التقريبية الترجمة التقريبية

gTranslator

إن كنت مستخدماً لجينوم أو لم تكن تريد استخدام كيبيبل أ وأنك تريد أن تجرب شيئاً جديداً، فجرب gTranslator :-) إن لم يكن لديك، فقم بتنزيل آخر إصدار مستقر من موقع gTranslator.

مشاريع الترجمة الجديدة والتوثيق العربي

إنه من المهم أن نشجع ونضع الخطط التي نوفر من خلالها المزيد من الترجمات للعديد من وثائق المصدر المفتوح المتوفرة ليس لكي نشجع المزيد من المستخدمين العربي بأن يتنبهوا إلى لينكس والمصدر المفتوح فقط بل لتثقيفهم حول ميزاته. نحن في أمس الحاجة إلى طريقة مؤتمتة نستطيع بها ترجمة العديد من وثائق المصدر المفتوح المتوفرة إلى العربية. هذه الأهمية والأولوية تأتي من واقع أن هذا العمل يجب أن يتم ضمن نطاق عربايز وتحت مظلتها حيث أن عربايز ستؤكد على وجود هذه الترجمات في مكان واحد بتنسيق متطابق جداً. هذا المكان "المركزي" للوثائق المترجمة سوف يرفع عبءً ثقيلاً عن متحمس المصدر المفتوح العربي بأن لا تجبره أن يبحث بكامل الشبكة عن فتات المعلومات هنا وهناك. واحد من مهام عربايز العديدة هو مركزة كل المعرفة العربية حول المصدر المفتوح وبذلك تكون وسائلنا الجماعية هي مصدر قوتنا. الإجراء المطلوب فيما يتعلق بتقديم مشاريع ترجمة جديدة وأفضل طريقة للبدء بها وكيفية العمل على كتابة التوثيق العربي مشروحة في first steps. نحن متشوقون جداً لسماع أفكارك وملاحظاتك.

مشاريع الترجمة الجديدة

للوقت الحالي وحتى تصبح مشاريع الترجمة الحالية مزوّدة بطواقم إلى مستويات معقولة، خيار عربايز هو التزام كدي وجنوم. سبب اختيار هاتين البيئتين كان بسيطاً - أردنا أن نصل إلى أقصى عدد من مستخدمي لينكس العرب الكامنين ونمكنهم من أن يكونوا مستخدمي لينكس بشكل يومي ومعتاد. على كل حال، ندرك أن مظاهر أخرى من عالم المصدر المفتوح قد يكون لها نفس الأثر وأن بعض الجهد يجب أن يبذل في مجالات أخرى. لذا، إن كان ذاك رأيك وكان لديك تطبيقات أو برامج موجودة، توثيق أو مشاريع تؤمن أنه يجب النظر فيها والمساهمة في ترجمتها إلى العربية، اشعر بالحرية بأن تشير إليها وسوف نناقش المسألة بكل سرور. وجد عربايز للمساعدة وذلك ما سنفعله. مجدداً، رجاءً شاركنا خواطرك، أفكارك، وملاحظاتك!!

كتابة التوثيق العربي

يفتقر مسرح المصدر المفتوح للأسف إلى التوثيق العربي. يحاول عربايز أن يملأ هذه الفجوة بالتوثيق بعدة أشكال عربية فيما يتعلق بعالم يونكس ولينكس. هذا التوثيق مهم جداً حيث أنه سيسمح للآخرين بالتعلم ممّا مرّ به واختبره أعضاء عربايز. بعض الأمثلة على ما قم تمّ إنجازه حتى الآن تتضمن، كيف إلى لينكس بالعربي و كيف إلى CVS بالعربية . لسوء الحظ هذه العملية تستغرق وقتاً كثيراً وتتطلب الكثير من الوقت البشري لعملها بشكل صحيح. إن كنت تعتقد أن لديك المعرفة الكافية حول أي شيء يتعلق بعالم المصدر المفتوح: لينكس/يونكس، البرمجة (C/C++, python, HTML)، وغير ذلك من لغات :-) أو أنه ليس لديك معرفة كافية عن موضوع معين مثير للاهتمام والذي تنوي أن تبحث فيه أو تتصفح الإنترنت حوله، فرجاءً أعلمنا. نستطيع أن نرشدك إلى كيفية إنشاء لائحة بالمعلومات المطلوبة التي يمكنك جمعها في مستند كيف إلى العربية. مشاركتك محتاجة جداً ومطلوبة الآن !! أسمعنا ما تنويه وسوف نكون سعيدين جداً بأن نساعدك ونشجعك وطبعاً أن نستضيف هذه الوثائق في موقع عربايز.

ما يفعله المنسقون (وظائفهم، ومهامهم)

في ما يلي إرشاد عام ووصف لما تشمله وظيفة المترجم. على المنسق أن: يطلع على قدرات المتطوعين الحالية والمستقبلية ومستوى الالتزام (يعرف ما سيحققه المتطوعون والتفرقة بين من يعمل ثلاثين ساعة أسبوعياً ممّن يمضون ساعتين). هذا التقييم يجب التحقق منه مرة على الأقل كل شهر. يضع خطّة السير مفصلاً كيفية إكمال العمل المعني بوجود القوة البشرية الحالية، ونقصها. يجب الكشف على الخطة وتنقيحها مرة كل شهر. تعرض الخطة أولوية الملفات، من حيث الترجمة. تقسم الخطة العمل بحيث إن أو متى تطوع الناس يمكنهم البدء وأن يعرفوا بما يبدأون به أو لا يلمسوه. تعرض الخطة كذلك المراحل الزمنية التي يجب أن تتم لحساب موعد نهاية المشروع، كإصدارات كيدي، أو جينوم وإلخ. يختم الخطة بجدول المهام، بشكل موسّع. يجب أن يعلن هذا في لائحة المهام المتعلقة على موقع عربايز، حتى يستطيع الناس معرفة من يعمل على ماذا وبالتالي يمكن للقادمين الجدد أن يختاروا بسهولة مهمةً تناسبهم. يبقي صفحات الموقع المتعلقة (على موقع عربايز) محدثةً فيما يختص بالمعلومات والأولويات بالإضافة إلى الوضْع. يرسل تقريراً بالوضْع إلى قائمة التوثيق 'doc' مرة كل شهر، ويكون التاريخ المحدد معتمداً على المشروع. سيكون ملف الوضْع بالتنسيق التالي، لتسهيل القراءة، تمّ الشهر الماضي (فبراير 2003 - مارس 2003): تم عمل هذا. تم إنهاء ذاك. ما يجب عمله الشهر القادم (مارس 2003 - أبريل 2003): إنهاء هذا. البدء بذاك. المشاكل/الهموم/المواعيد النهائية: نحتاج نصاً لهذا. نحتاج حساب CVS لفلان وفلان. الموعد النهائي: إصدار لـكيدي في السادس من مايو 2003.

يقوم بالتوظيف بشكل عام لمشاريعه. مهام المنسقين الرئيسية سوى التخطيط، والتنفيذ وصياغة مسار إلى النجاح سيكون توظيف فرقهم. هذا يعني أنه سيطلب من المنسقين أن يوظفوا أناساً لمساعدتهم، أي أنه يتوقع منهم أن يقوموا بإرسال نداءات للعديد من المواقع وللناس لطلب المساعدة. مسؤولية المنسقين أيضاً هي تشجيع الطاقم وجعل حياتهم أكثر متعة :-)