ويكي مؤسسة TDF/تعدد اللغات

    From The Document Foundation Wiki
    This page is a translated version of the page TDF Wiki/Multilingual and the translation is 69% complete.
    Outdated translations are marked like this.

    تُعنى هذه الصفحة بمحتوى الويكي متعدد اللغات المقدَّم في ويكي المؤسسة TDF Wiki.

    Warning.svg

    معلومات
    لا تستخدم نوع OrigLang من الترجمة للصفحات التي تُنشؤها للتو. نقوم حاليا بالتحول إلى ملحَقَة الترجمة من ميدياويكي MediaWiki Translate.

    معلومات عامة

    تحتوي هذه الصفحة بعضاً من التلميحات المهمة لمحرري الويكي. لطفاً إقرأ هذه الصفحة قبل إضافة محتوى مترجَم أو موطَّن إلى الويكي.

    محتوى ذو تمحور محلي

    صفحات مكتوبة بلغتها المحلية ولن تُترجَم. هي صفحات فرعية من صفحة تأخذ في تسميتها اسم شفرة اللغة بحالة حروف كبيرة.

    أمثلة:

    
     https://wiki.documentfoundation.org/DE/Team
     https://wiki.documentfoundation.org/DE/Veranstaltungen
     ...
     https://wiki.documentfoundation.org/FR/Documentation/Publications
     
    

    محتوى ذو تمحور عالمي

    صفحات معدَّة بالإنجليزية ومترجَمة إلى لغات مختلفة. الصفحات المترجَمة هي صفحات فرعية تأخذ في إسمها شفرة لغتها. عملية الترجمة تتولاها ملحَقة الترجمة Translate.

    اتّبع هذه الخطوات لتجعل صفحة ما قابلة للترجمة:

    1. ضع المحتوى المطلوب ترجمته في داخل أقسام <translate></translate>
    2. استخدم قالب {{#translation:}} لإضافة لاحقات اللغات إلى عناصر مثل القوائم
    3. استخدم البادئة Special:MyLanguage عندما تقوم بالربط إلى صفحات محلية قابلة للترجمة
    4. أضف قسم قائمة اللغة <languages/>
    1. بعد حفظ الصفحة، انقر على الرابط في الأعلى والذي يقول أشِّر هذه الصفحة للترجمة
    2. تأكد أنّ كل شيء على ما يرام بالنقر على الزر في الأـسفل والذي يقول أشِّر هذا الإصدار للترجمة

    بعد أن تؤشَّر الصفحة للترجمة، ستقوم ملحَقة الترجمة تلقائيا بإضافة مؤشِّرات بالشكل <!--T:1--> لتكون مصداقاً للمقاطع المترجَمة. ليكون قسم من النص مفصولاً تلقائياً ليكون مقطعاً، يتوجب إحاطته بسطور فارغة. لإرغام فصل المقاطع، يمكنك إضافة أقسام <translate></translate>. انتبه بالخصوص إلى القوائم المنقطة والمرقمة.

    عندما تُضيف أو تغيّر محتوى في صفحة المصدر، فسيظهر هذا في أعلى الصفحة: "تحوي هذه الصفحة تغييرات منذ أن أُشّرت للترجمة آخر مرة". انقر على الرابط "مؤشَّرة للترجمة" لتستقدم نظام الترجمة محدَّثاً متّبعاً نفس العملية الموجودة في التأشير الأولي للترجمة.

    Tips

    في وضعية مثالية، ينبغي أن يرى المترجمون أقل مقدار من اللغة الإشاربة للويكي. وجود لغة إشارية لجدول أو قالب في المقطع القابل للترجمة أمر مربك ومحيّر للمترجم. حاول إبقاء هكذا إشاريات خارج أقسام <translate></translate>.

    عنوان الصفحة مجعول قابلا للترجمة مبدئيا، لكن يمكنك التحكم بهذا بمربع التأشير "اسمح بترجمة عنوان الصفحة" عند تأشير الصفحة للترجمة. عنوان الصفحة هو أول مقطع قابل للترجمة في لائحة المقاطع. في نظام وواجهة الترجمة، للمقطع اسم شبيه بـ "Translations:Faq/General/127/Page display title/ru" في حين أنّ لأسماء المقاطع الأخرى معرِّفات رقمية مثل الـ "4" في "Translations:Faq/General/127/4/ru".

    أحياناً توجد حاجة إلى إعطاء الصفحة عنوان عَرض يكون مختلفا عن اسم الصفحة في المسار. لاحظ أن هذا غير مستحسن وينبغي تجنبه. في هذه الحالة، استخدم قالب إعادة التسمية هكذا: {{Rename|My new name}}. سيضمن القالب عدم وجود أخطاء في الصفحات المترجمة فيما يخص العنوان.

    You can do a partial update of a translation while still leaving the status as outdated by clicking the downward-pointing triangle next to the translation unit name and selecting Show in wiki editor. You will be taken to a separate editing page where you can make your changes and save them while leaving the !!FUZZY!! special word at the start of the text intact.

    أحيانا تحتاج إلى الولوج إلى مصدر الويكي الإنجليزي بدون مؤشِّرات <!--T:1-->. يمكن إنجاز هذا بإضافة /en في نهاية مسار الصفحة ومن ثم تحرير المصدر. هذا سيسمح لك بنسخ هيكل الصفحة إلى صفحة جديدة (كملاحظات الإصدار).

    When working on a page with many translation blocks, it sometimes happens that you make a mistake with opening or closing translate tags. In a situation like this, the page preview will show all the translate markup alongside the content. Clicking Save changes has a suprisingly useful effect, however: instead of saving, it will display a reduced view of the source text, helping you to find your error.

    إذا كان لديك أقسام تحوي رقمًا وحيداً فقط، فيمكنك استخدام magic word {{formatnum:1234}} بدلاً من قسم ترجمة. سيُنسَّق الرقم تلقائيًا بطراز غير غربي عند الحاجة.

    فيما يلي مثال على صفحة معدَّة للترجمة. لاحظ فصل القائمة المنقطة والمحتويات في جدول.

     {{TopMenu}}
     {{Menu}}
     {{Menu.Documentation}}
     <languages/>
    
     <translate>
     == Hello World ==
    
     * We must take the world as we find it
     * When we are gone, let the world be flooded
     * The world is as fools wish it to be
     * It's a small world!
     </translate>
     <translate>
     * Crows are black the world over
     * He slipped once and all the world knew about it
     * The world is like a market, the one does business and the other does none
     * Huge though the world is, I always miss when I hit at it
     </translate>
    
    
     {| class="wikitable"
     |-
     | <translate>Cell content</translate>
     |-
     | {{sometemplate|<translate>Text content for a template</translate>}}
     |-
     | <bdi>{{formatnum:-1.10714871779409}}</bdi>
     |-
     | {{formatnum:110714871779409|NOSEP}}
     |}
    
     [[Special:MyLanguage/Development/Create_a_Hello_World_LibreOffice_extension|<translate>Tutorial on creating a Hello World extension</translate>]]
    
     [[Category:Documentation]]
     
    

    بما أنّ محتوى الجدول يمكن أن يكون مزعجا عند تهيئته للترجمة، فقد أُنشيء سكربت مساعد. استخدمه بنسخ مقالة ويكي إلى ملف نص محلي وإعطاء إسم الملف كمتغير وسيط للسكربت. ستُعاد كتابة محتويات الملف في مكانها. ستطبَّق الكلمة السحرية formatnum للأعداد الصحيحة والكسرية والمركّبة، إن كانت هي المحتوى الوحيد في خلية جدول. يعتمد السكربت على حُزَم تفسير نصوص الويكي wikitextparser والتعابير النظامية regex ودالة سعة العُرض wcwidth. انقر "توسيع" لترى السكربت.

    
    #!/usr/bin/env python3
    #
    # uses the library https://github.com/5j9/wikitextparser
    import sys
    import wikitextparser as wtp
    
    def is_float_or_complex(value):
        try:
            float(value)
            return True
        except:
            return False
        try:
            complex(value)
            return True
        except:
            return False
    
    def wrap_translate(string):
        if string.endswith(('}}', '</translate>')) or (len(string) < 2 and not string.isnumeric()):
            return string
        elif string.isnumeric() or is_float_or_complex(string):
            if string.isnumeric():
                format_end = '|NOSEP}}'
            else:
                format_end = '}}'
            # Add bdi element so minuses will stay in place with RTL languages
            if string[0] == '-':
                return ' <bdi>{{formatnum:' + string + format_end + '</bdi> '
            else:
                return ' {{formatnum:' + string + format_end + ' '
        else:
            return ' <translate>' + string + '</translate> '
    
    with open(sys.argv[1]) as f:
        doc = f.read()
    
    p = wtp.parse(doc)
    tables = p.get_tables()
    
    for t in tables:
        if t.caption:
            caption = t.caption.strip()
            if len(caption) > 0:
                t.caption = wrap_translate(caption)
        for row in t.cells():
            for cell in row:
                c = cell.value.strip()
                if len(c) > 0:
                    cell.value = wrap_translate(c)
    
    with open(sys.argv[1], 'w') as f:
        f.write(p.string)
    
    

    ترحيل المحتوى المترجَم القديم إلى النظام الحالي

    في الماضي، وظّف ويكي مؤسسة TDF عملية ترجمة كانت تستخدم قوالب تُدعى اللغة الأصلية OrigLang واللغة Lang. القوالب تَعرض قائمة كانت تربط الصفحة المصدر بالصفحات المترجَمة. يمكنك أن تجد كل المحتوى المترجَم الذي يستخدم قالب اللغة Lang في هذه اللائحة: Special:WhatLinksHere/Template:Lang. وبالمثل، يمكنك ان تسرد الصفحات ذات قالب OrigLang.

    ملحَقة الترجمة فيها أداة ترحيل، وهي تساعد في نقل المحتوى المترجم مسبقا إلى النظام الجديد. إذا تطابقت أقسام المصدر والترجمة تماما، سيكون الترحيل سهلا جدا. وإلا توجّب عليك أن تقص وتلصق المقاطع بين صناديق الإدخال.

    يجري الترحيل هكذا:

    1. بعد تأشير الصفحة للترجمة، انتظر بضعة دقائق، من أجل أن يتمّ الخادوم معالجة الصفحة
    2. انتقل إلى Special:PageMigration
    3. في صندوق الإدخال، أدخِل مسار اللغة للصفحة التي تريد ترحيلها، مثلا:

    Mypath/Mypage/de لصفحة ألمانية متخيلة

    1. انقر على زر الاستيراد
    2. نظّف المحتويات في صناديق الإدخال المحتوية على الترجمات القديمة (مثلا، أزل أية قوالب قوائم غير ذات جدوى)
    3. في العمود ذي الترجمات، لا يمكنك أن تترك صناديق إدخال فارغة أو فائضة في النعاية، لذا احذفها بالنقر على أيقونة حاوية المهملات التي بجانبها
    4. بعد أن نظّفت و رتّبت كل شيء، انقر على صندوق الحفظ

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

    إذا اردت مشاهدة مصدر مراجعة قديمة، انسخ رابطها من التاريخ و زُر الرابط بعد إضافة هذا إلى النهاية: &action=edit

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

    الرسائل في الشريط الجانبي

    لتترجم رسائل "ساهِم" و "إدعم ليبر أوفيس!"، يتوجب عليك إرسال الترجمات إلى أحد إداريي الويكي. الرسائل الأخرى هي رسائل نظام والتي تترجَم في أصل ميديا ويكي.

    أُعدّت ترجمة العناصر الإضافية في الشريط الجانبي باستخدام الخطوات المذكورة في صفحة مساعدة ملحَقَة الترجمة لـ ترجمة العناصر غير المهيكلة. لا يحتاج الإداريون إلى أكثر من زيارة Special:Translate/الشريط الجانبي للويكي لترجمة الرسائل.

    رابطا "الصفحة الرئيسية" و "ساهِم" تستخدم السابقة Special:MyLanguage، والتي تجعلهما يتوجهان الى صفحة مترجَمة، إن كانت متوفرة.