اذهب إلى المحتوى

لوحة المتصدرين

  1. Hassan Hedr

    Hassan Hedr

    الأعضاء


    • نقاط

      6

    • المساهمات

      2851


  2. سامح أشرف

    سامح أشرف

    الأعضاء


    • نقاط

      5

    • المساهمات

      2934


  3. منتصر احمد

    منتصر احمد

    الأعضاء


    • نقاط

      5

    • المساهمات

      760


  4. Mohammed Hhhh

    Mohammed Hhhh

    الأعضاء


    • نقاط

      4

    • المساهمات

      219


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 05/20/22 في كل الموقع

  1. حاولت ان اقوم بعمل برنامج انه اذا عملت hover على عنصر يتغير لون الصفحه وقمت بكتابة الكود التالي و لكن لم يعمل ما الحل h1:hover body{ background-color:red ; }
    2 نقاط
  2. window.localStorage.user = { name : 'mohammed', age : 14 } console.log(typeof JSON.parse(localStorage.user)); // لماذا يعطني خطأ السلام عليكم لماذا يظهر هذا الخطأ: "Uncaught SyntaxError: Unexpected token o in JSON at position 1"
    2 نقاط
  3. السلام عليكم مشكلتي تكمن في عدم قدرتي على استعمال البيانات المجلوبة من قاعدة البيانات في منحنى chart js استطيع جلبها و اضهارها في الواجهة ولكن لم استطع في chart js 1.png و 2.png و 3.png يعملون بدون مشكل ولكن بدون قاعدة بيانات 4.png الطريقة التي اود استعمالها مع العلم انني اعرف كيف استعمل Axios.get الخلاصة : كيف امزج بين employeeList.map((val, key) => {... و <Chart data={ userData } حيث const userData = [ { name: "Feb", "Active User": 3000, }, شكرا مسبقا
    1 نقطة
  4. اقوم بعمل مشروع html ,css ,js لكن عندما اتعامل مع الجافا سكربت، مثلا اضع بوتون وهذا البتن عند الضغط علية يتم تنفيذ داله، الذي يحصل معي انه عند الضغط على البوتون يقوم بتنفيذ الداله بشكل سريع اقل من ثانية ويقوم بتحديث الصفحة مباشرة ، لا اعلم لماذا يقوم بتحديث الصفحة ؟ وكيف اصلح هذا الامر
    1 نقطة
  5. الشيفرة تعمل لديك بشكل سليم ولا يتم تحديث الصفحة تأكدي من أنك تعاينين نفس الصفحة ذات الشيفرة المصدرية المرفقة وليس نسخة أخرى، أيضًا سرعة التنفيذ بسبب أن العمليات تتم على المتصفح مباشرة، التأخير في التطبيقات عادة يكون بسبب إرسال طلب AJAX إلى الخادم وانتظار الرد ثم إضافة المهمة وتحديث الواجهة، يمكنك إذا أردت إضافة تأخير يدوي بشكل مقصود لمحاكاة عملية التأخر في وصول الرد بالاستفادة من التابع setTimeout كالتالي: <button onclick="setTimeout(addLi, 1000)">Add</button> ^^^^^^^^^^ ^^^^^^^ ستلاحظين تأخر لمدة ثانية قبل إضافة المهمة للقائمة
    1 نقطة
  6. المشكلة ليست بالكود المشكلة انه لماذا ينفذ بشكل سريع جدا ويحدث الصفحة مباشرة ويختفي ما يقوم به الكود ؟ لكن هذا هو الكود <body> <input type="text" id="txtVal"> <button onclick="addLi()">Add</button> <ul id="list"> <li>1</li> <li>22</li> <li>50</li> </ul> <script> function addLi() { var txtVal = document.getElementById('txtVal').value, listNode = document.getElementById('list'), liNode = document.createElement("LI"), txtNode = document.createTextNode(txtVal); liNode.appendChild(txtNode); listNode.appendChild(liNode); } </script> </body>
    1 نقطة
  7. شكرًا لك على إرفاق الشيفرة، ما هو شكل البيانات الذي يأتي من المسار employees في التابع التالي: const getEmployees = () => { Axios.get("http://localhost:3001/employees").then((response) => { setEmployeeList(response.data); // data شكل البيانات }); }; هل يمكنك إرفاق مثال عنها كما ذكرت لك شكل تلك البيانات مهم لحل المشكلة هل تحوي فقط على name و age، من غير الواضح في شيفرة الخادم ما هو شكل تلك البيانات
    1 نقطة
  8. نعم عند طرح سؤالك ضمن قسم الأسئلة العامة في الأكاديمية يفضل دومًا إرفاق الشيفرة بشكل نصي بدلًا من الصور أو إرفاق الملفات، وذلك حتى تحصل على إجابة مناسبة من الضروري إرفاق شكل البيانات التي تجلبها (حتى لو كانت بيانات وهمية) لأن طريقة معالجتها وتمريرها إلى المخطط chart يعتمد على شكلها، لذا يرجى إرفاق مثال عن البيانات التي تأتي من الخادم كمثال كي تتوضح المشكلة وتحصل على الحل المناسب لك
    1 نقطة
  9. السلام عليكم ورحمة الله ممكن اعرف ايه احسن كورس عشان اتعلم البايثون +هل تصميم صعب اتعلمه
    1 نقطة
  10. عندي مشكله ما لقيت لها حل صراحه وهو انه عندي JSON وحاب اغير لون ال background color للكلمه نفس ماهو موضح في الصوره قدرت اوصل لمطلوب بالكود الموجود وسوف احط له تعليق ولكن ما عرفت اغير لونه ال background color هذا هو المطلوب اريد نفس الجدول الي في الصوره هذي : اريد ال background نفس هذا الشكل وانا كودي هذا : var coffees=[ {"name":"Cappuccino","caffeine":173,"decafe":false}, {"name":"Turkish Coffee","caffeine":300,"decafe":false}, {"name":"Instant Sting","caffeine":101,"decafe":true}, {"name":"Karak Coffee","caffeine":380,"decafe":false}, {"name":"Defanged Nescafe","caffeine":10,"decafe":true}, {"name":"Coffee Al Arabic","caffeine":257,"decafe":false}, ] function printData() { let body = ""; for(let index in coffees) { let item = coffees[index]; let num = 1; if (item["decafe"] == true) { item["decafe"] = "&#128077"; } else item["decafe"] = "" if (item["caffeine"] >= 250) // هذا هو الكود المقصود item["name"] = backgroundColor = 'red' body += ` <tr> <th scope="row">${++index}</th> <td>${item["decafe"]}</td> <td>${item["name"]}</td> <td>${item["caffeine"]}</td> <tr> `; } $("#coffees").html(body); } وال output لكودي هو هذا : انا اريد مكان كلمه red ان. تظهر الكلمه التي موجوده في ال object ولكن ال backgroud color يمون اسود او احمر هذا ملف المشروع وشكرا اتمنى الرد في اسرع وقت ممكن Code_C.zip
    1 نقطة
  11. هل من الممكن ان يدلني احد الاساتذه علي مشروع مبني علي SQL انا اريد ان اخذ فكره عن المنتج النهائي / مثال انا تعلمت لغه html و تعلمت كيف يمكن ان نبي صفحة بهذه اللغه - انا اريد ان ادي تطبيقات ال sql .. فلو سمحتم ان احد من الاساتذه يبعتلي موقع او عنوان ادخل عليه اشوف التطبيقات وشكرا
    1 نقطة
  12. يوجد العديد من المقالات المنشورة التي تشرح تقريبًا كافة جوانب لغة الاستعلام SQL، يمكنك الاستفادة من قراءتها والبدء منها في التطبيق العملي حتى البدء ببناء أمثلة عملية كمثال، كقاعدة بيانات لتطبيق ملاحظات، أو قاعدة بيانات لمدرسة لإدارة الطلاب وفصولهم ودرجاتهم، أو قاعدة بيانات إدارة مخزن منتجات، يمكنك الاستفادة من قراءة المقالات التالية:
    1 نقطة
  13. بفرض أن لدي كائن Object يحتوي على بعض الخصائص properties والتوابع methods : let user = { "age": 19, "email": "emad@gmail.com", "firstName": "Emad", "lastName": "Saif", getFullName() { return this.firstName + " " + this.lastName; } }; console.log(user.age); // 19 كيف يمكنني حذف أحد هذه الخصائص أو التوابع الموجودة في الكائن بشكل صحيح؟
    1 نقطة
  14. كيف يمكنني جعل الcondition افضل مثلا كيف يمكنني جعل هذا ال condition افضل: if (condition) { // if true }else { // if flase }
    1 نقطة
  15. هذا الأمر مهم في كثير من الحالات، على سبيل المثال بفرض أن لدينا دالة تتحقق مما إذا كان المستخدم كبير كفاية لدخول الصفحة (عمره 18 أو أكبر): function userIsAdult(age) { // في حالة كتب المستخدم رقم أقل من 18 if (age < 18) { console.log("you can not access this page"); // إن لم يتم إيقاف الدالة هنا سوف تكمل العمل } // condition is true console.log("you are an adult"); } // عند تنفيذ الدالة السابقة برقم أقل من 18 userIsAdult(10); /* Output: you can not access this page you are an adult */ لاحظ أن الدالة في المثال السابق إن لم تتوقف في حالة كانت قيمة age أقل من 18 فسوف يتم طباعة كلا الجملتين لأن الدالة سوف تكمل العمل بغض النظر عما إذا كان الشرط مُحققًا أم لا، لذلك علينا إيقاف الدالة إن كان العمر أقل من 18: function userIsAdult(age) { // في حالة كتب المستخدم رقم أقل من 18 if (age < 18) { console.log("you can not access this page"); return; // نوقف الدالة عن العمل هنا في حالة توقف الشرط } // condition is true console.log("you are an adult"); } // عند تنفيذ الدالة السابقة برقم أقل من 18 userIsAdult(10); /* Output: you can not access this page */
    1 نقطة
  16. يرجى استخراج محتويات الملفات وتحرير نص السؤال وإدراجها ضمنه بدلًا من الصور، أيضًا يفضل التأكد أن البيانات يتم جلبها من الخادم بشكل سليم، وإرفاق شكل تلك البيانات الواردة من الخادم
    1 نقطة
  17. أي دالة في JavaScript يجب أن ترجع قيمة بشكل أو بآخر، وإن لم تحتوي الدالة على كلمة return أو لم ترجع قيمة محددة فسوف ترجع undefined بشكل إفتراضي: // الدالة التالية لا تحتوي على return // لذلك يتم إرجاع undefined function test() { } console.log(test()); // undefined والكلمة return يمكنها إرجاع أي قيمة، حتى أنه يمكن إستخدامها لإرجاع دالة جديدة كاملة، وفي حالة لم يتم إعطائها قيمة لإرجاعها، فسوف يتم إرجاع undefined بشكل إفتراضي كذلك: // الكلمة return ترجع undefined في حالة لم يتم تحديد قيمة معينة لإرجاعها function test() { return; } console.log(test()); // undefined ومن المتعارف عليه هو إستخدام return في مثل هذه الحالة لإيقاف الدالة فقط، وليس لإرجاع قيمة معينة.
    1 نقطة
  18. لا انا فاهم ال return بس انا قصدي انك كتبت return; منغير حاجه ايه معناها
    1 نقطة
  19. الكلمة المفتاحية return تستعمل لإرجاع قيمة من الدالة وإيقاف تشغيلها، مثال: // لدينا دالة تقوم بطباعة ضعف أي رقم مُمرر لها function double(num) { console.log(num * 2); } double(5); // سيتم طباعة 10 double(3); // سيتم طباعة 6 double(8); // سيتم طباعة 16 الدالة double السابقة تقوم بطباعة ضعف أي رقم مُدخل إليها (تضرب الرقم في 2 وتطبع الناتج)، لكن ماذا إذا أردنا أن نستخدم ناتج عملية الضرب هذه بدلًا من طباعتها؟ في هذه الحالة لا نستعمل console.log بل نستعمل الكلمة return : // لدينا دالة تقوم بطباعة ضعف أي رقم مُمرر لها function double(num) { return (num * 2); } var result = double(5); console.log("The result is:", result); // The result is: 10 الكلمة return تقوم بإرجاع قيمة وإيقاف تنفيذ الدالة، أي أن أي شيء يأتي بعدها لن يتم تنفيذه: // لدينا دالة تقوم بطباعة ضعف أي رقم مُمرر لها function double(num) { return (num * 2); console.log("Some Content"); // هذا السطر لن يتم تنفيذه لأنه جاء بعد كلمة return } var result = double(5); console.log("The result is:", result); // The result is: 10 لمزيد من المعلومات حول الكلمة المفتاحية return أقرأ فقرة "أرجاع قيمة"، في هذه المقالة: المقالة السابقة جزء من سلسلة "دليل تعلم جافاسكربت"، وهي سلسلة شاملة لكل أساسيات JavaScript وتحتوي على شرح لكثير من الأمور المتقدمة.
    1 نقطة
  20. هل يمكنك شرح return; لانني لا افهم ما معناها
    1 نقطة
  21. مرحبا انا اعاني من مشكلة نسيان الكود عند كتابته مع العلم انني درست html,css اكثر من مرة واعرف الوسوم وعندما اطبق مشروع اطبق مع احد من الذين يكتبون المشاريع ولكن لم اعمل مشروع لوحدي وعندما اعمل مشروع يفشل هل هذا خطا مني او هذا امر طبيعي كبمتدئ مع العلم انني اريد اتقان ال html css للدخول الى لغة javascript هل اكمل بلمشاريع مع الوقت سوف تصبح سهلة ام ماذا
    1 نقطة
  22. يظهر الخطأ لأن هنالك مشكلة بإنشاء واستدعاء كائن JSON. فقبل اسناد قيمة الكائن ستحتاج أولا تحويله الى سلسلة نصية اولا كـ: window.localStorage.user = JSON.stringify({ // لاحظ name : 'mohammed', age : 14 }); ثم سيمكنك استدعاءه او طباعته بشكل عادي: console.log(typeof JSON.parse(localStorage.user)); الناتج: object كيف تستخدم JSON في JavaScript.
    1 نقطة
  23. كيف يمكنني التعامل مع ال local storage لانها غير مجوده في الدوره
    1 نقطة
  24. يرجى استبدال الصور بالشيفرة بشكل نصي ضمن نص السؤال وتنسيقها بتنسيق Code لتحصل على الإجابة ونتمكن من المساعدة
    1 نقطة
  25. حرف U هو إختصار لكلمة Untracked أي أن هذا الملف غير مسجل في Git ولن يتم تتبع أي تغيرات تجري عليه، بينما حرف M يعني Modified (أي مُعدل)، ولفهم ما تعنيه هذه الكلمات يجب دراسة Git وهو برنامج يستخدم لإدارة الملفات والمشاريع البرمجة، بحيث يمكن عمل أي تغيرات على الملفات وتسجيلها وإرجاع الملفات إلى الحالة التي كانت عليها قبل التعديلات، ويسمح كذلك بأن يكون أكثر من مبرمج بالعمل على المشروع في نفس الوقت (عبر إستخدام GitHub أو GitLab)، بالإضافة إلى عمل أكثر من فرع Branch (نسخة كاملة من المشروع) للعمل عليها (لأصلاح خطأ معين أو لإضافة ميزة جديدة) بشكل سهل للغاية. إن أردت إخفاء حرف U فعليك أن تقوم بتنفيذ الأمر التالي: git add <اسم الملف> مع تغير <اسم الملف> إلى اسم الملف، مثال: git add App.js الأمر السابق سوف يخبر Git بمراقبة الملف App.js وحفظ أي تغيرات تجري عليه. ملاحظة: يجب التأكد من أنك في مجلد المشروع الصحيح عند تنفيذ الأمر السابق لكي يعمل بشكل سليم. هنا فيديو يشرح أهل الأساسيات الخاصة بـ Git: ويمكنك كذلك الإطلاع على العديد من المقالات الخاصة بـ Git من هنا.
    1 نقطة
  26. مكتبة React تستعمل لتسهيل العمل على المشاريع الكبيرة من خلال تقسيم المشروع بالكامل إلى مكونات Components وبالتالي يمكن التعامل مع كل مكون على حدى، ويمكن أن يعمل أكثر من مبرمج على نفس المشروع في وقت واحد بشكل أسهل من التعامل مع المشروع في شكل صفحات، فتخيل أنك تقوم بإستعمال زر معين Button في أكثر من مكان وفي أكثر من صفحة، وبعد تطوير المشروع أردت أن تقوم بتغير هذا الزر أو ما يفعله، حيناها سيكون عليك أن تبحث عن كل مكان أستعملت فيه هذا الزر وتقوم بالتعديل عليه، أو على الأقل سوف تتنقل بين ملفات CSS و JavaScript، أما في حالة إستعمال React.js (أو أي مكتبة أو إطار عمل يستعمل نظام المكونات) فستقوم بالتوجه مباشرة إلى ملف معين والتعديل عليه وأنتهى الأمر، وبالتالي تصبح عملية التطوير أسهل وأسرع من ذي قبل. كما يوفر React الكثير من الأشياء التي تسهل عليك عملية التطوير مثل الخطافات Hooks والتي من خلال يمكنك عمل الكثير من الأمور بأسطر بسيطة بدلًا من كتابتها من الصفر، بالإضافة إلى أن React.js يُمكن المبرمد من إنشاء التطبيقات بدون التعامل مع DOM بشكل مباشر، حيث يقوم المبرمج بوصف شكل المكون وما يقوم به (عبر أكواد JavaScript و CSS) ويقوم React بالتعامل مع DOM مما يعطي أفضل أداء ممكن بدون الدخول في تعقيدات لا حاجة لها. هنا مدخل بسيط للتعرف على React.js: وتستطيع الإطلاع على المقالات موجودة في أكاديمية حسوب من هنا، أو قراءة توثيق React باللغة العربية في موسوعة حسوب من هنا.
    1 نقطة
  27. React (والتي تُعرَف أيضًا باسم React.js أو ReactJS) هي مكتبة JavaScript تُستخدَم لبناء واجهات المستخدم. تُدار React من شركة Facebook بالإضافة إلى مجتمع كبير من المطورين، فهي مشروعٌ مفتوح المصدر. تُسهِّل React عملية إنشاء واجهات مستخدم تفاعليّة. عليك فقط تصميم عروض (views) لكل حالة في تطبيقك، وستُحدِّث React المكوّنات الصحيحة بكفاءة وتقوم بتُصيّرها عندما تتغير بياناتك. تعتمد React بشكل أساسي على مفهوم المكوّنات (Components). حيث يجب عليك بناء مكوّنات مُغلَّفة تُدير حالتها الخاصّة، ومن ثمّ تُركِّب هذه المكوّنات مع بعضها لإنشاء واجهات مستخدم مُعقّدة. ولمّا كان منطق المكوّنات مكتوبا باستخدام JavaScript بدلًا من صيغة القوالب، فبإمكانك تمرير الكثير من البيانات عبر تطبيقك بسهولة وإبقاء الحالة بعيدة عن DOM. تسير React على مبدأ «تعلّم مرّة واكتب في أي مكان»، إذ لا تفترض تعاملك مع تقنية مُحدّدة، بل تستطيع تطوير ميزات جديدة فيها دون إعادة كتابة شيفرة جديدة. يُمكِن تصيير React على الخادوم باستخدام Node.js، ويُمكن من خلالها إنشاء تطبيقات الهواتف النقالة عبر React Native كما ويمكنك إلقاء نظرة على react في موقع ويكي حسوب من هنا
    1 نقطة
  28. إذا كنت تتابع سلسلة مقالات ترادوس منذ أول مقالة، لمحة عن برنامج ترادوس أهم برامج الترجمة عبر الحاسوب CAT، فمن المفترض أنه أصبح لديك الآن برنامج ترادوس-سواء النسخة المجانية أو النسخة المدفوعة- كما أنك قد أصبحت على دراية بالأقسام الرئيسية في البرنامج وأنك مستعد الآن للبدء في استخدام البرنامج والتمتع بمزاياه المختلفة. بادئ ذي بدء، هناك طريقين لتبدأ فيهما مع ترادوس، فإما أن تبدأ مباشرة في إنشاء المشاريع وفي تلك الحالة ستكون أول ذاكرة ترجمة (Translation Memory) لديك هي تلك التي ستنشئها مع أول مشروع، وبالتالي ستستفيد منها فقط إذا تكررت نفس الكلمات والعبارات بنفس المشروع كما إنك ستستفيد منها في الملفات الأخرى بنفس المشروع -إن كان يحتوي على عدة ملفات- وأخيرًا ستستفيد منها في المشاريع اللاحقة أيضًا، وهذا الطريق هو الأنسب إذا كنت مترجمًا مبتدئًا. أما إذا كنت مترجمًا متمرسًا لديك عشرات الملفات المترجمة بالفعل والتي ترغب في الاستفادة منها في تغذية ذاكرات الترجمة في البرنامج، فالطريق الثاني هو الأنسب لك، ومن حسن الحظ أن هناك طريقتين للاستفادة من الملفات المترجمة لديك، سأشرحهما تباعًا. طريقتين لتغذية ذاكرات الترجمة ملحوظة: إذا لم يكن لديك ملفات مترجمة ولكنك تريد تعلم هذه المهارة، فيمكنك تحميل قرار الأمم المتحدة بالعربية والإنجليزية، والسير على الخطوات التي سأشرحها تاليًا: الطريقة الأولى: المحاذاة التلقائية افتح البرنامج واضغط على قسم الترحيب (Welcome)، ثم أختر محاذاة المستندات (Align Documents) الموجود بالأعلى بقسم الصفحة الرئيسية (Home) واختر أول اختيار (Align Single File Pair). ستظهر لك نافذة ستختار منها أولًا ما إذا كنت ستضيف ذاكرة ترجمة موجودة بالفعل من خلال الضغط على (Add) أو ستنشئ واحدة جديدة من خلال (Create) وبفرض إن هذه أول مرة تستخدم البرنامج فسنختار (Create) وسنختار الخيار الأول (New File-based Translation Memory) وبذلك ستحفظ ذاكرة الترجمة لديك على جهازك. ستظهر نافذة أخرى بها عدة حقول، تجاهل أول حقل (Create From) لأنه يفترض وجود ذاكرة ترجمة مسبقة وتريد الاستفادة منها والتعديل والإضافة عليها، وستكتب مباشرة الاسم الذي ترغب في إطلاقه على ذاكرة الترجمة في الحقل (Name) بعده حقليين غير الزاميين ألا وهما الوصف (Description) وتضيف فيه وصفًا لذاكرة الترجمة إذا رغبت في ذلك، والحق الثالث حق المؤلف (Copyright) وتكتب فيه من يملك حق المؤلف هل أنت أم شركة الترجمة التي تعمل لديها أم العميل، ثم يأتي حقل (Location) تختار منه من خلال الضغط على (Browse) المكان الذي ترغب في حفظ ذاكرة الترجمة به. بالأسفل ستختار لغة المصدر (Source Language) وهي لغة الملف الذي ترغب في ترجمته -في الصورة السابقة اخترت اللغة الإنجليزية-وبعده (Target Language) وهي اللغة التي ترغب في ترجمة الملف إليها-اخترت اللغة العربية-، ثم تضغط إنهاء (Finish) وتنتظر حتى يكتمل الإنشاء ثم تضغط إغلاق (Close). بذلك سيكون لديك ذاكرة ترجمة جديدة وفارغة وستجد أنها قد أُضيفت تلقائيًا في نافذة المحاذاة التي لا تزال مفتوحة ويبقى عليك فقط إضافة الملف المصدر (Source File) والملف الهدف (Target File) ثم تضغط إنهاء (Finish). *سيمر بعض الوقت ريثما يحاذي البرنامج بين الملفين والمقصود بالمحاذاة هنا، هو تقسيم الملفين إلى عدة خلايا ومن ثم وضع كل خلية أمام ترجمتها، للأسف هذا لن يكون دقيقًا 100% بل ستضطر إلى التعديل عليه بنفسك، كما سنشرح تاليًا، وهذا من عيوب تلك الطريقة في المحاذاة. بعد الانتهاء سيفتح البرنامج تلقائيًا نتيجة المحاذاة ما عليك هو مراجعة تلك المحاذاة والتعديل عليها كما يلي: ستجد أن هناك خطوط توصل كل خلية من خلايا الملف الأصلي بخلية من خلايا الملف الهدف، والأمر لن يخرج عن احتمالين: الأول: أن تكون المحاذاة صحيحة والخليتين الأصلية والترجمة أمام بعضهما البعض وقتها ستضغط على اعتماد (Confirm) من قسم (Confirm) بالأعلى بقسم الصفحة الرئيسية (Home)، أو (Ctrl+Shift+F) أما إذا كانت جميع الخلايا صحيحة -وهذا نادرًا ما يحدث- فعليك الضغط على (Confirm All) أو (Ctrl+Alt+F). الثاني: أن تكون المحاذاة غير صحيحة وقتها ستضطر لتعديلها يدويًا بأن تضغط على الرقم الظاهر أمام كل خلية -سواء في النص الأصلي والمترجم- وتستمر في الضغط حتى تصل إلى الخلية الصحيحة في النص المقابل ثم تفلت الفأرة، وقتها سيظهر خط أخضر غير متقطع يربط بين الخليتين، في بعض الحالات الأخرى ستجد أنه عليك نقل بعض الكلمات من خلية لأخرى عن طريق القطع واللصق حتى يتقابل المعنيين في الخليتين. بعد إجراءك لعدة تعديلات يمكنك الضغط على إعادة المحاذاة (Realign) بقسم المهمات (Tasks) بالأعلى بقسم الصفحة الرئيسية (Home) حتى يعيد المحاذاة مجددًا بعد التعديلات التي أجريتها. بعد الانتهاء من المحاذاة واعتمادك لها، تأتي الخطوة التالية، ألا وهي تصدير نتائج المحاذاة لذاكرة الترجمة وذلك عن طريق حفظ نتائج المحاذاة أولًا من خلال حفظ (Save) بقسم المهمات (Tasks) بالأعلى بقسم الصفحة الرئيسية (Home)، يمكنك حفظ نتائج المحاذاة بصيغتين الأولى (sdlalign) وهذا في حالة رغبتك في مراجعة المحاذاة مرة أخرى في قسم المحاذاة؛ أما إذا كنت قد انتهيت من التعديل على المحاذاة واعتمدتها فالأنسب أن تختار صيغة (sdlxliff). بعد ذلك ستفتح ذاكرة الترجمة التي أنشأتها من قسم ذاكرات الترجمة (Translation Memories) على اليسار، ثم تضغط على استيراد (Import) بقسم المهمات (Tasks) بالأعلى بقسم الصفحة الرئيسية (Home)، وتضيف الملف الذي حفظته للتو من خلال (Add Files) في النافذة التي ستظهر، ثم اضغط إنهاء (Finish). والآن مبارك أصبح لديك أول ذاكرة ترجمة وستظهر أمامك وحدات الترجمة (Translation Units) المصدر والهدف أمام بعضهما البعض. تلك كانت الطريقة الأولى التي تمكنك من الاستفادة من الملفات المترجمة خارج برنامج ترادوس وإليك الطريقة الثانية المحاذاة اليدوية. الطريقة الثانية: المحاذاة اليدوية وهذه الطريقة هي ببساطة أنك ستسير على خطوات إنشاء المشروع أو ترجمة ملف واحد وإنشاء ذاكرة الترجمة الخاصة به. ثم بدلًا من كتابة ترجمة الملف ستقوم ببساطة بنسخ ولصق ترجمة كل خلية من ترجمة الملف المتوافرة لديك بالفعل. ولأن هذه الطريقة تتضمن معرفة كيفية إنشاء المشروع فعلينا الانتقال لهذه الخطو أولًا. كيفية ترجمة ملف واحد؟ وما الفرق بينه وبين إنشاء المشروع؟ الفرق الجوهري بين ترجمة ملف واحد (Translate Single File) وترجمة مشروع هو أنه يمكن في المشروع إضافة العديد من الملفات سواء أثناء إنشائه أو لاحقًا، أما الملف المفرد فهو يفترض أنك ترغب في ترجمة ملف واحد فقط فإذا رغبت بعد ذلك في إضافة ملفات أخرى فعليك إنشاء مشروع وإدخال هذا الملف كجزء منه. لترجمة ملف واحد فيمكنك ببساطة-حتى ولو لم يكن ترادوس مفتوحًا، النقر بالزر الأيمن للفأرة على الملف الذي تريد ترجمته وتختار (Translate in SDL Trados Studio) ثم تختار إما استخدام ذاكرة ترجمة موجودة بالفعل أو إنشاء واحدة جديدة بنفس الخطوات المذكورة أعلاه، وبعد الانتهاء سيُفتح لك الملف في المحرر (Editor) لتشرع في ترجمته. ملحوظة: كثيرًا ما ألجأ لتلك الطريقة السريعة في حالة رغبتي في معرفة ما إذا كان ترادوس قادرًا على دعم ملف ما أم لا، خاصةً في ملفات PDF التي تكون ممسوحة ضوئيًا من ملفات ورقية، حيث يحول ترادوس بعض تلك الملفات ببراعة إلى ملف قابل للترجمة والبعض الأخر لا. الخاتمة بذلك نكون قد تعلمنا طريقتين لتغذية ذاكرات الترجمة ببرنامج ترادوس من الملفات المتوافرة لدينا بالفعل، كما تعلمنا كيفية إنشاء ذاكرة ترجمة وكيفية ترجمة ملف واحد، بقي لدينا تعلم كيفية إنشاء مشروع (Project) وكيفية إنشاء قاعدة المصطلحات (Term Base) هذا ما سنتعلمه -بالإضافة إلى العديد من الوظائف المفيدة الأخرى بالبرنامج- في المقالة القادمة. اقرأ أيضًا المقال التالي: كيفية ترجمة المحتوى بالاستعانة ببرنامج ترادوس المقال السابق: تعرف على برنامج ترادوس (Trados) وأهم الأقسام فيه
    1 نقطة
×
×
  • أضف...