الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مترجم بسيط يستخدم موقع قوقل للترجمه

بدأه العيافـي في 29 ديسمبر 2010 · 16 رد · 1,204 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لا شك ان الجميع لديهم برامج لترجمه ,

هذه الاداه طلبت منى في احد المواد كنشاط, و احببت مشاركتكم فيها

post-82434-078101400 1293612001_thumb.gi

GTranslate.rar

المرفقات
O_10.gif

تم تعديل هذه المشاركة بواسطة العيافـي في 29 ديسمبر 2010 في 11:40

3
#2

عزيزي محمود

سبق وسألتني عن الامر

private static final long serialVersionUID = 1L;

حاول تشغيل البرنامج على جهازك ( كمشروع )

قم بتغيير قيمة serialVersionUID الى 2L مثلا للصنف MainPanel

اعد تشغيل البرنامج

ولحظ ما سيحدث :)

#3

جميل اخى عثمان

لكن عندما استخدمته وجدته يأخذ وقت طويل فى الترجمه

يعنى انا كتبت له كلمه We انتظر فتره طويله تقارب الدقيقه

لماذا ذلك؟

هذا ما حدث

ولكن ايضا لم افهم لماذا

post-217802-036651400 1293612919_thumb.p

المرفقات
Error.png

Software Developer
Mahmoudkelany.com


 

#4

انا حاولت اغير اول حرف فالـ combox الى UpperCase لكن النتيجه مش بتظهر

لم طبعت اسم اللغه بعد التعديل ظهر

لكن لم يظهر فى الـ Combox

حاولت اغير الـ

private static final long serialVersionUID = 1L;

غيرته عمل لى مشاكل ههههههههه

لكن بعد ما اعدته مره اخرى

ظهرت النتيجه

ممكن توضح لى ايه اللى حصل دا ؟

معلش انا عارف انى بتقل عليك

لكن بجد اريد التعلم :)

هذه النسخه باستخدام النت بينز

GTranslate.zip

:)

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 29 ديسمبر 2010 في 12:13

Software Developer
Mahmoudkelany.com


 

#5

للمتابعه لأني أريد أن أفهم السبب ماهية ال Serialization ...

#6

نسيت ان اذكر بان host & port يتم تغييره على حسب الاتصال بالانترنت عندك,

سرعة البرنامج تعتمد على سرعة الانترنت لديك

نرجع ل serialVersionUID

عند فتح البرنامج ثم اغلاقة لاول مره سيتم حفظة في المسار التالي (C:\Users\oalgahtani\GoogleTranslate.ser)

وسيكون رقم serialVersionUID يساوي 1L

بواسطة الامر التالي

FileOutputStream fout = new FileOutputStream(FILE_PATH); //FILE_PATH =  C:\Users\oalgahtani\GoogleTranslate.ser
				ObjectOutputStream oos = new ObjectOutputStream(fout);   
				oos.writeObject(mainPanel);
				oos.close();

في المره القادمة سيتم قرائة الكائن من نفس المسار بواسطة الطريقة (readObject)

ويوجد فيها الاسناد ( mainPanel = (MainPanel) ois.readObject(); )

هنا يتم مقارة serialVersionUID اذا كانت متساويه فهذا يعني ان الكائنين لهما نفس الاصدار ويمكنك تنفيذ عملية (casting)

اما اذا كانت مختلف ستحصل على الاستثناء الذي حصل معك. ليخبرك بان الرقمين مختلفين

هنا اقتباس ما قاله علاء في هذا الموضوع

اقتباس

كل فئة من النوع Serialize لها معرف

هذا المعرف يساعد المترجم على التفرقة ما بين الإصدارات المختلفة من نفس الفئة

خذ مثلاً لو كنت تعمل على فئة اسمها طالب ووضعتها في برنامج عند العميل

ثم قمت بتغيير هذه الفئة على الخادم هنا سيكون رقم الفئة الجديد مخالف لمعرف الفئة القديم

ولهذا لن يعمل البرنامج وسيعلم أن الفئة الموجودة لدى العميل قديمة

على كل يفضل أن تكتب أنت هذا المعرف

لأنك إن لم تفعل فسيقوم المترجم بتوليد رقم جديد عند كل عملية ترجمة وبهذا سيختلف الإصدار دائماً

مما يعني أن العميل سيواجه مشكلة حتى لو لم تختلف نسخة الفئة بشكل حقيقي

#7

ملاحظة

عندما تقوم بالتعديل على الكائن MainPanel لان ترى التعديلات .

ولتتمكن من رؤية التعديلات يجب ان تقوم بتغيير على القيمه serialVersionUID

سبب عدم رؤية التغييرات : لاني اقرا الكائن من جهاز عندما يتساوى رقم serialVersionUID ولا اقوم بانشاء كائن جديد.

#8

أخي العيافي ..

و لم تقوم بتخزين الكائن؟

#9

تقريبا الهدف الرئيسى انه يحفظ الـ host , port

لكن طبعا هيحفظ معاهم الـ text Areas

واللغات المختاره

وبالاضافه للـserialVersionUID

بدلا من انه يحفظ الخصائص فى XML file فحفظ الكائن كاملا

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 29 ديسمبر 2010 في 16:36

Software Developer
Mahmoudkelany.com


 

#10
العيافـي كتب:

عند فتح البرنامج ثم اغلاقة لاول مره سيتم حفظة في المسار التالي (C:\Users\oalgahtani\GoogleTranslate.ser)

بواسطة الامر التالي

FileOutputStream fout = new FileOutputStream(FILE_PATH); //FILE_PATH =  C:\Users\oalgahtani\GoogleTranslate.ser

لماذا لا تستخدم الخاصية التالية:

System.getProperty("user.home")

- The home directory of the current user

#11
.S.T.A.L.K.E.R كتب:

لماذا لا تستخدم الخاصية التالية:

System.getProperty("user.home")

- The home directory of the current user

بالفعل تم استخدمها

public static final String FILE_PATH =
            System.getProperty("user.home") + System.getProperty("file.separator") + "GoogleTranslate.ser";
2coscqr.jpg
#12

السلام عليكم

أخي العيافي لماذا تقوم بعملية serialization للـ panel?

أليس في هذا كلفة كبيرة

على الأقل احفظ الكلمات فقط واجعل باقي الأشياء في الـ panel على أساس أنها عابرة ما يعرف بـ transient

بالمناسبة هناك تعليقة خفيفة تحصل عند الاتصال على الخادم

يمكنك حلها بوضع الدالة translate في EventDispatch

على كل يبدو لي أن البرنامج الغرض منه هو الشرح لا أكثر ولا أقل :)

هل استخدمت هذه الحزمة في أمور حقيقية؟

الصدق أن الترجمة ليست جيدة جداً

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13
العيافـي كتب:

نسيت ان اذكر بان host & port يتم تغييره على حسب الاتصال بالانترنت عندك,

سرعة البرنامج تعتمد على سرعة الانترنت لديك

لم افهم موضوع الـ port , host ازاى بيتغيروا انا وضعتهم كما انت وضعت فى الصوره

واشتغل تمام

انما بالنسبه للسرعه فهى 512 لوحدى

وايضا بطىء

بالمقارنه بموقع جوجل

http://translate.google.com

علاء الصالحي كتب:

السلام عليكم

بالمناسبة هناك تعليقة خفيفة تحصل عند الاتصال على الخادم

يمكنك حلها بوضع الدالة translate في EventDispatch

هل استخدمت هذه الحزمة في أمور حقيقية؟

هذا لكى يعمل فى Thread منفصل ؟؟؟

تقصد كدا ؟؟

يعنى ايه فى امور حقيقيه ؟؟

ولدى ملفان jar فى المجلد lib

احداهما

json-20090211

والاخر

google-api-translate-java-0.94

الثانى واضح من اسمه لكن ماذا عن الاول ؟؟

Software Developer
Mahmoudkelany.com


 

#14

قصدت برامج حقيقية ذا معنى وهدف :)

صحيح بالنسبة لموضوع الخيط

بالنسبة للحزمة JSON هذه تقوم بتحويل java object إلى JSON

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#15

اعزائي البرنامج كان مطلوب مني في الجامعه وليس عمل حقيقي سأستخدم. ( قوقل قايمة بالواجب و اكثر)

كان بامكاني عدم حفظ الكائن Panel ولكني قمت بحفظه بالطريقة السابقة لتوضيح فائدة serialVersionUID

1
#16
علاء الصالحي كتب:

صحيح بالنسبة لموضوع الخيط

بالنسبة للحزمة JSON هذه تقوم بتحويل java object إلى JSON

تمام

لكن لم افهم استخدام JSON ههههههههههه

معلش :)

العيافـي كتب:

اعزائي البرنامج كان مطلوب مني في الجامعه وليس عمل حقيقي سأستخدم. ( قوقل قايمة بالواجب و اكثر)

كان بامكاني عدم حفظ الكائن Panel ولكني قمت بحفظه بالطريقة السابقة لتوضيح فائدة serialVersionUID

نحن نتشاور

لتعم الافاده من البرنامج

طبعا وكمان عمو علاء قال قبل كدا

اقتباس

على كل يبدو لي أن البرنامج الغرض منه هو الشرح لا أكثر ولا أقل smile.gif

اخى عثمان

012.gif

Software Developer
Mahmoudkelany.com


 

#17

JSON هو اختصار لـ java script object notation

وهو بديل خفيف الوزن قليل الـ parsing للغة توصيف البيانات xml

على كل يمكن القول بأنه لا يصف البيانات لكنه يهتم بترتيبها

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة