Mohammed-Saeed

في سبيل ان تكون برامجنا عالمية

23 ردود في هذا الموضوع

بسم الله الرحمن الرحيم

بعد احر التحيات و اشد الاشواق :)

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

و لعدم تمكني من الرد آنذاك ، بسبب الدراسة ، و عدم وجود خط انترنت لدي ، لم استطع المشاركة ، و قد بحثت عن الموضوع و لم اجده ... عموما ،،،

سبق و ان بحثت حول الموضوع ، و ذلك لان برامجي عادة تكون من عدة لغات ، و وجدت افضل طريقة هي استخدام ملف INI و ذلك لعدة اسباب هي :

* - سهولة تحرير هذه الملفات بواسطة المستخدم ، مما يساعد على الحصول على ترجمات اخرى للبرنامج ، مثل برنامج Crazy Browser على سبيل المثال .

* - عدم زيادة حجم البرنامج ، حيث ان طريقة قاعدة البيانات مثلا تحتاج الى ملفات ربط اضافية ، بينما في هذه الطريقة يمكننا ان نستخدم فيها ال API ، و التي تكون ملفاتها موجودةمع الوندوز مسبقا .

* - تعتبر هذه الطريقة سهلة ، سريعة ، و لا تحتاج للكثير من البرمجة ، و بهذا يمكننا تجنب اكبر قدر من الاخطاء البرمجية ....

عموما ، البرنامج االذي سبق و ان اعددته مرفق مع المشاركة ، مع مثال بسيط ، و لدي حوله عدة ملاحظات :

* - البرنامج من نوع Add-in خاص بالفيجوال بيسيك 6 ، و يمكنك اعادة ترجمته Compile كي يتم تسجيله في جهازك ، و يمكنك الوصول اليه من VB > Add-Ins > Add-in Manager ، و اسمه VB Language Maker .

* - يقوم البرنامج بالمرور على جميع الادوات الموجودة في ال Form ، و يقوم بتخزين قيم الخواص Caption و ToolTipText في ملف ، و سيعتبر الملف الرئيسي للبرنامج ، و يمكنك اضافة ملفات اللغات الاخرى ، ثم ترجمتها ( او استخدام قاعدة البيانات فيما بعد ) .

* - البرنامج غير مكتمل تماما ، و لذا فهو لا يدعم كل الادوات ( الغير قياسية ) ، كما انه يجب عمل Make ini’s لكل نافذة في المشروع .

ملاحظات :

* - طريقة استخدام البرنامج موجودة ضمن ملفات المصادر .

* - انا على اتم الاستعداد للتعاون في اكمال المشروع ، و نشره باسم الفريق العربي للبرمجة .

* - لدي عدة ترجمات لعدة برامج ، مثل الترجمة العربية لبرنامج Setup Factory 6.0 ، و ساضعه قريبا في المنتدى .

VB_LM_1.0.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا لك اخي العزيز ...

وايضا توجد طريقة اخرى من غير ملفات ini و قواعد البيانات وهي استخدام محرر المصادر الموجود في فيجوال بيسك ....

لك تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية

يعيب ملف المصادر التالي :

1 - زيادة حجم البرنامج التنفيذي ، لان ملفات اللغات الغير مستخدمة ايضا يجب ان تكون داخل البرنامج ، مما يؤدي الى استهلاك قدر اكبر من الذاكرة مسببا بطء تشغيل البرنامج ،،، و لا سيما اذا كان عدد اللغات كثير .

2- لا يمكن الا للمبرمج اضافة لغات جديدة للبرنامج ، و بينما في طريقة ال ini يمكن لاي كان ترجمة ملف اللغة لاي لغة ، مما يؤدي الى زيادة الترجمات ( في حال كان البرنامج مطلوب ) ، و لذا تستخدمه معظم البرامج العالمية ، مثل ال Setup Factory و Crazy Browser و غیرها کثیر ....

3- تعتمد طريقة ملف المصادر على رقم مُعرف للنص ID ، و هذا ما لا يمكن للمبرمج حفظه ، و ستكون واجهة البرنامج اثناء التصميم مجرد ارقام لا تسمن و لا تغني من جوع ، بينما في طريقة ال ini سنعتمد على اسم الاداة للدلالة على النص المطلوب ... فمثلا :

101=File

102=Edit

103=View

104=X

بينما في طريقة ال ini

mnuFile.Caption=File

mnuEdit.Caption=Edit

mnuView.Caption=View

الى آخره ....

4- تخيل انك صممت برنامج ، كانت قائمة الملف به تحتوي على س قائمة فرعية ، و انشأت لها ملف مصادر ... ستكون الارقام من 1 الى س ،،، و من س +1 الى ص للقائمة تحرير .... ، ماذا يحدث لو اردت اضافة قائمة فرعية اخرى للقائمة ملف .... ستجبر على استخدام آخر رقم اي ص+1 ، و بهذا لن تراعي حتى التسلسل المنطقي للارقام بالنسبة للادوات الموجودة على النافذة ... و هذا سيسبب لخبطة كبيرة للمبرمج ، و اضاعة وقت كثير في الترجمة للغات اخرى ....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يا حبذا من الاخوة الذين حملوا البرنامج ، ابداء تعليقاتهم .... و ابراز عيوب البرنامج ...

و لهم مني و للجميع جميع الامتنان :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام انا استخدم اجرائة لقلب اي نموذج من اليمين الى اليسار وهذا الكود الخاص بالقلب وطبعا ان اخزن القيم العربية في TAG

Public Sub AlignToRight(frm As Form)

On Error Resume Next

Dim i As Control
Dim TempVal As String

   frm.RightToLeft = Not frm.RightToLeft
   
   For Each i In frm.Controls
       If i.Tag <> "-1" Then
           If i.Alignment = 0 Then
               i.Alignment = 1
           Else
               i.Alignment = 0
           End If
           i.RightToLeft = Not i.RightToLeft
           
           If i.Tag <> "" Then
               TempVal = i.Caption
               i.Caption = i.Tag
               i.Tag = TempVal
           End If

           If TypeName(i.Container) = "Frame" Then
               i.Left = i.Container.Width - i.Width - i.Left
           Else
               i.Left = frm.ScaleWidth - i.Width - i.Left
           End If
       End If
   Next
       
End Sub

واليكم هذا الكود كمثال لكيفية القلب مباشرة

ChangeLanguage.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا لك اخي العزيز على الرد وتوضيح عيوب طريقة محرر المصادر ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

قضية المحاذاة موجودة في مثالي ...

لان الكثير من اللغات تحتاج الى ( يمين لليسار ) مثل العربية و الفارسية و العبرية و ......................

عموما ... اعتقد ان افكار برنامجي شبه كاملة ... و ان لم اكن قد وفقت برمجيا لطرحها ..

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

شكرا جزيلا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

16 مرة حُمل البرنامج ، و لا انتقاد ؟؟؟

عجيب ... هل هو كامل لهذه الدرجة ؟؟؟ و الكمال لله وحده !!!

ام انه لا يستحق حتى القاء نظرة ... فضلا عن ابداء الراي .....

غريب ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لقدت القيت عليه نظرة سريعة وهو جيد

ولكن لو جعلت برنامجك يقوم بتعريب مشروع كامل اعتقد يكون افضل

لانة يجب ان افتح فورم فورم لكى اعمل له ملف تعريب ثم الفورم الاخر وهكذا

لكن برنامجك جميل ويستحق الاهتمام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

ما ذكرت سهل ... فقط حلقة تكرار واحدة ، تدور على الفورم ز ، و تنفذ الاوامر ....

و لكني اود تجميع الآراء ... و ليس طرح النسخة الكاملة مباشرة ، حيث انه لدي بعض الافكار التي قد تجبرني على التغيير ، منها مثلا ( تعريب الصور ) ....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بسم الله الرحمن الرحيم

بعد التحية

تعتبر عملية تثبيت البرنامج Setup اهم عملية لدى المستخدم ، ذلك انه تعتبر النظرة الاولى له على البرنامج ، و منها يقتبس الكثير من احساساته تجاه البرنامج ,,,

اليكم في المرفق تعريب نوافذ و رسائل البرنامج المعروف Setup Factory 6.0

* التعريب شبه كامل ، عدا بعض الجمل .

Setup_Factory_6.0.zip

Setup_Factory_6.0.zip

Setup_Factory_6.0.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

الى الذين حملوا ترجمة ال Setup Factory ، هل واجهتكم مشكلة ؟؟؟

حيث ان الملف المضغوط كان واحد ، و لا اعلم ماذا فعل به برنامج المنتدى !!!

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم ورحمة الله وبركاتة

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

أمان واسرع و قابلية للتحديث وضمان عدم العبث من قبل المستخدم لذا أرجوا الإهتمام بها جيدا حيث ان الإهتمام بالملف التنفيذى فقط هو دليل على فشل المبرمج لأن المحترفين يعتبرونها ملفات ربط فقط وتحتوى على القليل جدا من الأكواد ولننظر إلى ملفات الألعاب هل يتصور أو يتوقع أحد ان لعبة فيفا بكل مافيها ملفها التنفيذى 2MB

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

ملفات الربط فكرة جيدة ، و قد استخدمتها سابقا ،،، و لكن ، ماذا لو اردنا ان يتمكن مستخدم ما من ترجمة برنامجنا للغة المنغولية ؟؟؟؟

لن يتمكن من هذا ، لانه لا يستطيع تحرير النصوص ، لذا ، تمكن المستخدم من التلاعب بالترجمة لن تضرني ، بل ربما تسبب انتشار اوسع للبرنامج ....

هناك الكثير من البرامج المعروفة التي تثق بالمستخدم ، و تجعل ملفاتها قابلة للتحرير ... و قد ذكرت آنفا عدة امثلة ، و ان شئت ، زودتك بالمزيد ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الاخ الفاضل shearer

بما انك تفضلت ولمحت حول استخدام ملفات DLL فى برامجنا لانها أأمن وافضل

ممكن لو تشرح لنا كيف يتم استخدام ملف DLL مع برنامجى؟؟

السؤال بطريقة اخرى :

ما هو الكود الذى يكنب داخل ملف مصنوع من DLL

وكيف استدعى ما بداخل DLL لبرنامجى ؟؟؟

ارجو ان يكون شرح ذلك فى شكل مثال يبين ذلك

لانى لم اتطرق لهذة الملفات فى برامجى من قبل

وشكرا لكم مرة اخرى

:)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
الاخ الفاضل shearer

بما انك تفضلت ولمحت حول استخدام ملفات DLL فى برامجنا لانها أأمن وافضل

ممكن لو تشرح لنا كيف يتم استخدام ملف DLL مع برنامجى؟؟

السؤال بطريقة اخرى :

ما هو الكود الذى يكنب داخل ملف مصنوع من DLL

وكيف استدعى ما بداخل DLL لبرنامجى ؟؟؟

ارجو ان يكون شرح ذلك فى شكل مثال يبين ذلك

لانى لم اتطرق لهذة الملفات فى برامجى من قبل

وشكرا لكم مرة اخرى

:)

للرفع

ياليت احد يرد علينا

كما اشكر الأخ محمد كاتب الموضوع على الأفكار النيره

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

لقد بحثت عن رابط الموضوع ، فوجدت سؤالكم ...

اعتذر عن كل هذا التاخير ... حيث لم ار مشاركتكم ...

ساعد المثال قريبا :)

اكرر اعتذاري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

ظننت ان السؤال موجه لي ، و لذا اعددت الدرس ،، لنعتبره نيابة عن shearer

الدرس في الرابط التالي :

http://www.arabteam2000-forum.com/index.php?showtopic=75656

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الي صاحب الموضوع

برنامجك رهييب واشتغل ولكن

كيف أطبق الموضوع علي برنامج أخر عندي؟؟؟؟

+

منتظرين النسخة الكاملة اللي تجيب كل الفورم ز.. !

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بعد التحية ...

قمت بعدة تطويرات للبرنامج ... و لكن ضيق الوقت ، و كثرة المشاغل تمنعني من الاكمال ...

ساحاول ذلك في اقرب فرصة :)

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ممكن اخى تعيد ارفاق البرنامج بعد اذنك ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم و رحمة الله و بركاته

هذي أول مشاركة لي في هذا المنتدى و من دون إطالة أخوكم مبتدئ في البرمجة و عملت مشروع لكن عندي مشكلتين :

أولهما أنه كيف أقدر أدخل أكثر من قيمة من خلال تكست واحد مش واضح الكلام صح

بمعنى

مثلا :عندي زبون يشتري بظاعة كل يوم و نبي نحط هذي القيم للمشتريات تحت أسم هذا الزبون في قاعدة البيانات وعند طباعة التقرير النهائي تطلع تابعة لأسمه

ثانيهما :

أني عندما أحول المشروع كله كصيغة exe يعطي أنه لم يجد بعض الفورم و يتجاهلها و يطلع المشروع ناقص

باللهعليكم الي عنده حل يبعثلي على إيميلي

[email protected]

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .