الانتقال إلى المحتوى
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.

كيف يمكن تغير اللغة من عربي الى انجليزي او العكس على نفس الفورم اي ان يكون الفورم ثنائي اللغة

Featured Replies

بتاريخ:

هام للغاية و مفيد للجميع ان شاء الله

كيف يمكن تغير اللغة من عربي الى انجليزي او العكس على نفس الفورم اي ان يكون الفورم ثنائي اللغة

ارجو المساعدة للضرورة القسوى

بتاريخ:

السلام عليكم و رحمة الله
اتمني ان اجد اجابة لهذا الموضوع

انا فكرت بطريقتين لكن اعتقد انهم غير عمليين

الاولي: تكرار الفورم باللغتين و عند اختيار اللغة المراد التعامل فيها يتم استدعاء الفورم لهذه اللغة (( طبعا تكرار للمجهود ))

الثانية: عمل (2) text item -- تعمل كـ prompt يمين و يسار العنصر المراد تسميته تحتوي علي اسم او وصف هذا العنصر
و عند اختيار اللغة يتم وضع قيمتها في جدول مخصص لذلك - ثم وضع Set_item_Property داخل جملة IF في when_new_form_instance حيث تقوم IF بالمقارنة بين القيم في جدول اللغة و توجيه الناتج الي Set_item_Property لكل text item لاظهار اللغة المرغوب بها و اخفاء الاخري
( TEXT ITEM =VISIBLE or INVISIBLE) و كذلك اتجاه الفورم.

حاسس ان الكلام كده كتير لكن غدا ان شاء الله هأحاول اجرب الطريقة الثانية

لكن كده في سؤال بيطرح نفسه هل يوجد trigger او procedure يمكنه قراءة ( او معرفة) عناصر الفورم --- اعتقد انها كده محتاجة بحث؟!!

بتاريخ:

أخي بارك الله فيك هي فورمة واحدة تبقى على ال DEFUALT DIRCTION لما تحب تخليها عربي اعمل ال DIRECTION بتاعها RIGHT TO LEFT و طبعا هاتغير ال PROMPTS بتوع كل ال ITEMS إلى على الفورمة و الفورمة بعد كده تبقى عربي و إذا أحببت تخليها انجليزي هاتخلي ال DIRECTION بتاعها LEFT TO RIGHT و هكذا .

بتاريخ:

أنا لدي فكرتين ولكنني لا أعلم ما الأفضل ، لكنني سأعرض عليكم الطريقتين :

الطريقة الأولي :

أنشأ جدول مواصفاتة كما يلي :

Create Table Lang_Interfase 
(
  Lang_ID	 Number(10), -- PK --
  Lang_ItemName VarChar2(50),
  Lang_ValueAR VarChar2(50),
  Lang_ValueEn VarChar2(50),
  Constraint PK_Lang_Interfase Primary Key(Lang_ID)
)
/



ومن ثم أصنع إجراء يجلب جميع السجلات ، ومن ثم إجراء Loop وبداخلة أبحث بالنموذج عن هذا العنصر بإستخدام Find_Item ، بشرط أن لا يكون إسم العنصر غير متكرر ببلوك البيانات ، وهذا سيكون شيء مجهد جداً ، وفي النهاية أرسل له القيمة كما أشاء في خاصية Prompt .

الطريقة الثانية :

أن تجعل لكل قيمة Value قيمة رقمية مناسبة ، وتصنع Function يجلب سجل واحد علي أساس قيمة المفتاح الرئيسي للجدول ، وبدلاً من إستخدم خصائص الـ Prompt تستخدم كائنات Display_Item ومن ثم تجعل حدودة مسطحة ولون الخلفية مماثلة للون خلفية النموذج أو الـ Canvas .

أخيراً ، أجلب الـ Function في خاصائص الـ Calcolation بقيمة رقمية محددة ، مثال :


Create Or Replace Function Get_Lang(ID_Serial  Number, ID_Lang Number Default 0) Return VarChar2
As
  ID_Return  VarChar2(50);
Begin
Select (Case When ID_Lang = 0 Else Lang_TitleEn Else Lang_TitleAr End)
Into ID_Return
From Lang_Interfase
Where Lang_ID = ID_Serial;

Return ID_Return;
End;
/



ومن ثم في خصائص الـ Calcolation تستدعي هذا الغرض كما يلي :

Calcolation Mode = Formula
Formula = Get_Lang(1,:Global.Lang_Name)




شكراً

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

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

بتاريخ:

انصحك للسرعه وزياده كفاءه النظام عمل اتنين فورم من كل فورمه(عربي وانجليزي) ومنيو ايتم من خلاله تقدر تختار اللغه.

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

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

على كل حال هو سؤال واحد فقط كيف يمكنني ان اغير اللغة في الــ OS و هو Windows Pro في هذه الصورة المحملة عن طريق الفورم
اذا يوجد كود لذالك ارجو اسعاف فية .
لأنه بقي لدي كيف انقل الحقول في الشاشة من اليمين الى اليسار و بالعكس عن طريق الـــ Bottun

post-14546-1211973351_thumb.jpg

بتاريخ:

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

بتاريخ:

السلام عليكم ورحمة الله وبركاته
بعد التحية
اخواني فالله
يمكن عمل الخطوات التاليه
اثناء انشاء الجدول او بعد انشاءه نقوم اولا بوضع تعليقات مثلا لاسم الجدول واسم الحقول كما فالمثال

DROP TABLE CLASS_INFO CASCADE CONSTRAINTS ; 

CREATE TABLE CLASS_INFO ( 
 CLASS_ID        NUMBER (2)    NOT NULL, 
 CLASS_NAME      VARCHAR2 (100)  NOT NULL, 
 CLASS_CAPACITY  NUMBER (4), 
 CLASS_EMP_NAME  VARCHAR2 (100), 
 CONSTRAINT PK_CLASS_INFO
 PRIMARY KEY ( CLASS_ID ) ) ; 


COMMENT ON TABLE CLASS_INFO IS 'ملف أكواد المعامل';

COMMENT ON COLUMN CLASS_INFO.CLASS_CAPACITY IS 'كثافة المعمل';
COMMENT ON COLUMN CLASS_INFO.CLASS_EMP_NAME IS 'إسم الموظف المسئول عن المعمل';
COMMENT ON COLUMN CLASS_INFO.CLASS_ID IS 'كود المعمل';
COMMENT ON COLUMN CLASS_INFO.CLASS_NAME IS 'إسم المعمل';


قوم بعمل شاشة ب الويزرد على هذا الجدول
ثانيا عمل PROCEDURE اما على ال database or form builder

PROCEDURE CALL_PROMPT (VR_TAB VARCHAR2,V_LANG VARCHAR2,V_USER VARCHAR2) IS
CURSOR CC IS 
  SELECT DECODE(V_LANG,'ENG',REPLACE(COLUMN_NAME,'_',' '),'ARB',COMMENTS) COMMENTS,TABLE_NAME||'.'||COLUMN_NAME COL 
    FROM ALL_COL_COMMENTS WHERE TABLE_NAME = VR_TAB --<== 'the table name for database' AND UPPER(OWNER) =UPPER(V_USER) ; --<== 'the user name for database'
BEGIN FOR REC IN CC LOOP
	SET_ITEM_PROPERTY(REC.COL,PROMPT_TEXT,REC.COMMENTS);
END LOOP;

END ;



ثالثا من when new form instans
عمل calling لل PROCEDURE كالاتي

CALL_PROMPT('CLASS_INFO','ARB',get_application_property(username));


مع مراعاة ان يكون اسما ال data block and the column like the database table_name and column name
يمكن السؤال لو الدخول بالعربي اعمل calling for the procedure else null
دا طبعا مثال توضيحي يمكن تطويره

وشكرا

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

CREATE TABLE CLASS_INFO ( 
 CLASS_ID        NUMBER (2)    NOT NULL, 
 CLASS_NAME      VARCHAR2 (100)  NOT NULL, 
 CLASS_CAPACITY  NUMBER (4), 
 CLASS_EMP_NAME  VARCHAR2 (100), 
 CONSTRAINT PK_CLASS_INFO
 PRIMARY KEY ( CLASS_ID ) ) ; 


COMMENT ON TABLE CLASS_INFO IS 'ملف أكواد المعامل';

COMMENT ON COLUMN CLASS_INFO.CLASS_CAPACITY IS 'كثافة المعمل';
COMMENT ON COLUMN CLASS_INFO.CLASS_EMP_NAME IS 'إسم الموظف المسئول عن المعمل';
COMMENT ON COLUMN CLASS_INFO.CLASS_ID IS 'كود المعمل';
COMMENT ON COLUMN CLASS_INFO.CLASS_NAME IS 'إسم المعمل';

Translate.zip

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

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

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

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

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

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.