الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

افضل طريقة لانشاء مشروع بالـ Adf متعدد اللغات (عربي ، انكليزي ، تركي ، ... )

Featured Replies

بتاريخ:

اخوتي الكرام ..
ايهما افضل طريقة لانشاء مشروع بالـ ADF متعدد اللغات (عربي ، انكليزي ، تركي ، ... ) ، هل :
1. باستخدام جدول يخزن في DB فيه قيم ال Component .
2. ام باستخدام ال File وال Bundle او ما يندرج تحت عنوان (Internationalization In JSF) .

ام طريقة ثالثة ؟؟؟؟؟؟؟؟؟ :)

بتاريخ:
  • كاتب الموضوع

هل السؤال واضح ام بحاجة الى تفصيل ؟؟؟
وددت بسؤالي هذا هو تجميع الافكار بخصوص هذا الموضوع لا سيما واني بحثت في المنتدى عن هذا الموضوع ولم اجد اي مشاركة تتحدث عن ذلك .

بتاريخ:

الافضل الطريقة الثانية ......

Internationalization ....

بتاريخ:
  • كاتب الموضوع

جزاك الله خير اخ احمد على سرعة الرد والتفاعل وهذا ليس بجديد عليك :)
بشمهندس احمد اجريت المقارنة التالية ارجو ابداء الراي فيها وهي كالتالي :

مقارنة بين تصميم مشروع متعدد اللغات باستخدام جدول في الداتا بيز او Bundle & File in ADF



By Using Table Inside Databse


  1. سهولة عملية التطوير واضافة Component جديدة او التعديل على الموجودة .
  2. اقل وثوقية من الاولى - لانه قد تحدث مشكلة من حاسبة لاخرى بسبب الـ Encode للمتصفح .
  3. سهولة اضافة لغة جديدة عن طريق استحداث Field جديد في الجدول .
  4. السرعة !!



By Using Bundle & File in ADF

  1. اقل سهولة لانه يتطلب اضافة الـ Component الجديد لكافة الملفات (Files) التي هي بعدد لغات المشروع .
  2. اوثق من حيث عرض اللغة العربية لانه يتم استخدام UTF-8 عن طريق عمل Convert للنص العربي باستخدام برامج مختصة بالتحويل .
  3. يتطلب اضافة ملف كامل (File) باللغة الجديدة .
  4. السرعة !!


بانتظار الرد والمشاركة من الجميع ..

تم تعديل بواسطة DBProgrammer

بتاريخ:

ياريت حد يشرحلنا كيفية عمل هذا الموضوع


انا عارف انك بتعمل ملف باختصار اللغة مثل labels_ar.properties وبتكتب فيه بالطريقة دي label.user id = 'كود المستخدم' l

ازاي اربط الكي ده بالـ attributes في enitityobject

بتاريخ:
  • كاتب الموضوع

تفضل اخي طارق هذه روابط توضح لك هذا الموضوع :

  1. فيديو للمهندس مصطفى ماجد http://www.sd4it.com...ideos/ch07.html
  2. فيديو للمهندس ابراهيم
  3. رابط مفيد اخر http://majid-hussain...-adf-11113.html


واي استفسار اخر حول الموضوع يرجى وضعه هنا حتى تكون هذه المشاركة كمرجع في هذا الموضوع .
تمنياتي لك بالتوفيق ..

ارجو من حضرتك ومن الاعضاء ابداء الراي في المقارنة اعلاه !!! اكيد بعد قراءة الموضوع :) :)

تم تعديل بواسطة DBProgrammer

بتاريخ:

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

بتاريخ:

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

بتاريخ:
  • كاتب الموضوع

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

لا شكر على واجب اخي العزيز

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

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

سؤالي لاستاذ مصطفى ومن يمكنهم الاجابة على ذلك :
من حيث ال Security في طريقة الـ Resource bundle يتم توليد الـ File المسؤول عن لغة ما وليكن اسمه (Message_Ar) بشكل مستقل خارج الابلكيشن بحيث يمكن حذفه بسهولة او اجراء تعديل عليه .
اما في حالة استخدام جدول فانه لا يمكن الوصول الى ذلك بسهولة او التعديل عليه .
سؤالي هو / هل يوجد طريقة للحفاظ على هذه الـ Files من الحذف او التعديل عليها ؟؟؟
بتاريخ:

الافضل الطريقة الثانية ......


Internationalization ....



لانه الاسهل في الانشاء والتعديل والتطوير وهي الاسرع واما الطريقة التاني علي العكس تماما

وده ابلكيشن لل

Internationalization


حمله من المرفق

ولمن يريد ان يفهم الكود يشاهد الفيديو ده

http://www.youtube.com/watch?v=-mQZusghdco

والله المستعان


سؤالي هو / هل يوجد طريقة للحفاظ على هذه الـ Files من الحذف او التعديل عليها ؟؟؟




اليوزر غير مسؤول علي حذف او تعديل ال Files هي مسؤولية مطور الابلكيشن وهو وحده القادر علي حذفه او التعديل عليه

InternationalizationApp.rar

تم تعديل بواسطة AhmadSaid

بتاريخ:
  • كاتب الموضوع

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

تم تعديل بواسطة DBProgrammer

بتاريخ:

الاخوة الافاضل
جزاكم الله خيرا جمبعا

بتاريخ:

هذه نقاط مقارنتك وتعليقي عليها:
سهولة عملية التطوير واضافة Component جديدة او التعديل على الموجودة .
كما ذكرت في مشاركة سابقة أن هناك ميزة وعيب لكل منهما حيث أن استخدام الجدول أبطأ في تحميل الصفحة لأنه يجب أن أقوم بتحميل كافة النصوص المستخدمة في الصفحة الحالية وهذا يمثل بطئاً خاصة لو كنت في كل شاشة أقوم بتحميل النصوص من قاعدة البيانات ولكن الميزة أنه يمكن للمستخدم تعديل النصوص من خلال شاشة يتم توفيرها تقوم بالتعديل في الجدول. العكس تماماً هو ميزة وعيب استخدام resource bundle.

اقل وثوقية من الاولى - لانه قد تحدث مشكلة من حاسبة لاخرى بسبب الـ Encode للمتصفح .
هذا ليس صحيحاً لأن Encoding يتم التحكم به في النظام ويعتبر نظام UTF-8 مدعماً في أي متصفح

سهولة اضافة لغة جديدة عن طريق استحداث Field جديد في الجدول .
استحداث حقل لا يكفي حيث لا بد أن تكتب الترجمة لكل النصوص وهذا بالضبط ما يتم تنفيذه عند استخدام resource bundle حيث توجد ادوات مخصوصة لذلك تمكنني من إضافة لغة جديدة من خلال ضغطة زر

بتاريخ:

هل فى حالة الانتقال من صفحة الى أخرى ستكون نفس اللغه أو سوف تنتقل الى لغة المتصفح

بتاريخ:
  • كاتب الموضوع

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

سؤالي لاستاذ مصطفى ومن يمكنهم الاجابة على ذلك :
من حيث ال Security في طريقة الـ Resource bundle يتم توليد الـ File المسؤول عن لغة ما وليكن اسمه (message_ar) بشكل مستقل خارج الابلكيشن بحيث يمكن حذفه بسهولة او اجراء تعديل عليه .
اما في حالة استخدام جدول فانه لا يمكن الوصول الى ذلك بسهولة او التعديل عليه .
سؤالي هو / هل يوجد طريقة للحفاظ على هذه الـ Files من الحذف او التعديل عليها ؟؟؟

اضف الى ذلك الا يحسب ذلك كنقطة قوة لطريقة الجدول داخل قاعدة البيانات ؟؟

وجزاك الله خير مسبقا ..

تم تعديل بواسطة DBProgrammer

  • بعد 11 شهور...
بتاريخ:

سأستفيد من موضوعك جزاك الله خيرا وحفظكم الله ورعاكم 

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.