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

بتاريخ:

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

بتاريخ:

يمكنكي استخدام برنامج translation hub و الذي ينزل مع oracle developer suite 9i ولكني بصراحه لم اعمل عليه من قبل ولكن سابحث عن دروس له و باذن الله سارد في اسرع وقت ممكن..
الى اللقاء

بتاريخ:

نعم صحيح كما قال الاخ rami_gnena بأمكانك عمل ذلك عن طريق TranslationHub وهذه ملخص عنه ،،

Forms___TranslationHub.pdf

بتاريخ:

لدى فكرة قمت بتنفيذها
وهى

القيام بعمل نسختين من الفورمز واحده عربية والأخرى انجليزية

والصفحة الامم تحتوى على لينكين لكل صفحة ويتم اعداد الشاشات حسب اللغة

ولكن الاثنين سيقومان بإنزال جميع البيانات فى داتا بيز واحده

وعند الاستعلام يتم استرجاع ما هو عربى وما هو انجليزى

حل هذه المشكلة هو عمل فلاج فى الشاشة العربى لا يسترجع الا ما هو عربى والعكس فى الشاشة

الانجليزى لا يسترجع الا الانجليزى من البينات وكذلك نكون قد عملنا برنامجين عربى وانجليزى منفصلين

على قاعدة بينات واحده

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

السلام عليكم مشكورين جميعا
انا نزلت الملف ورح احاول اقرا وافهم شو اعمل

بس يا اخ x_oracle_x
انا فكرت بفكرتك بس كيف اعمل شلنج بالفورم
انتا اعملتها

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

متاسفه كيف اعمل فلاج
:ph34r:

بتاريخ:

جزاك الله الف خير يا اخ ابوصالح .... انا كنت جاي علشان انزل نفس الملف و لكن لقيت من هو اسرع مني في فعل الخير


سلام

بتاريخ:

I totally agree with mr.x_oracle_x it is the beeter way to get multi-language ,it is better than using translation builder cuz you only have one form that only works in both language:

/*create form master table and detail*/
CREATE TABLE FM_MSTR 
(
   FM_FORM   VARCHAR2(20)  NOT NULL,--form name
   FM_DESC_A VARCHAR2(100)     NULL,--arabic description
   FM_DESC_E VARCHAR2(100)     NULL,--english description
   FM_DESC_F VARCHAR2(100)     NULL,--frensh description
   FM_ACTIVE NUMBER(1)         NULL
)
/
CREATE TABLE FMD_DET 
(
   FMD_FORM      VARCHAR2(30)  NOT NULL,
   FMD_BLOCK     VARCHAR2(30)  NOT NULL,--form block name
   FMD_ITEM      VARCHAR2(30)  NOT NULL,--item block name
   FMD_ITEM_TYPE VARCHAR2(20)      NULL,--item type
   FMD_DESC_A    VARCHAR2(100)     NULL,
   FMD_DESC_E    VARCHAR2(100)     NULL,
   FMD_DESC_F    VARCHAR2(100)     NULL,
   FMD_TOOLTIP_A VARCHAR2(100)     NULL,
   FMD_TOOLTIP_E VARCHAR2(100)     NULL,
   FMD_TOOLTIP_F VARCHAR2(100)     NULL,
   FMD_HINT_A    VARCHAR2(100)     NULL,
   FMD_HINT_E    VARCHAR2(100)     NULL,
   FMD_HINT_F    VARCHAR2(100)     NULL,
   FMD_GROUP     NUMBER(3)         NULL,
   FMD_ACTIVE    NUMBER(1)         NULL
)
/
/*and in the form create this procedure and call it in the when-new-form-instance*/
PROCEDURE TRANSLATE_FORM(IN_FORM_PRM	VARCHAR2,IN_LANG_PRM	VARCHAR2) IS
I	NUMBER(4);
BEGIN --SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE);
--IF FORM LANGUAGE EQUAL TO REQUIRED LANGUAGE
/*IF_STRT_001*/
--IF(:PARAMETER.LANG<>IN_LANG_PRM)THEN 
		--FIND ITEMS BELONG TO FORM AND DIPSLAY PROMPT ACCOEDIG TO LANG
		/*LOOP_STRT_001*/
		FOR  ITEM_REC
					IN (SELECT	DECODE(IN_LANG_PRM,'A',FM_DESC_A,'E',FM_DESC_E,FM_DESC_F)FM_DESC,
											DECODE(IN_LANG_PRM,'A',RIGHT_TO_LEFT,LEFT_TO_RIGHT)FM_DIRECTION,
											FMD_BLOCK,FMD_ITEM,
											DECODE(IN_LANG_PRM,'A',FMD_DESC_A		,'E',FMD_DESC_E,FMD_DESC_F)FMD_PROMPT,
											DECODE(IN_LANG_PRM,'A',FMD_TOOLTIP_A	,'E',FMD_TOOLTIP_E,FMD_TOOLTIP_F)FMD_TOOLTIP,
											DECODE(IN_LANG_PRM,'A',FMD_HINT_A		,'E',FMD_HINT_E,FMD_HINT_F)FMD_HINT,
											FMD_ITEM_TYPE,
											ROWNUM
	    				FROM FM_MSTR,FMD_DET WHERE FM_FORM=FMD_FORM AND FM_FORM=IN_FORM_PRM AND FM_ACTIVE	=1 AND FMD_ACTIVE=1
	    			)
		/*LOOP_MID_001*/
		LOOP 
	  	--SET FORM DIRECTION
	  	IF ITEM_REC.ROWNUM=1 THEN
	  		SET_FORM_PROPERTY(IN_FORM_PRM,DIRECTION,ITEM_REC.FM_DIRECTION);
	  		--SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,TITLE,ITEM_REC.SYS_DESC);
	  	END IF;
			/*IF_STRT_002*/
		 	IF ITEM_REC.FMD_ITEM_TYPE IN ('TEXT_ITEM','LIST','DISPLAY_ITEM','BUTTON','ICONIC_BUTTON','CHECK_BOX','INIT_TEXT') AND GET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,ITEM_CANVAS)IS NOT NULL THEN		
		 		IF(ITEM_REC.FMD_ITEM_TYPE IN ('TEXT_ITEM'))THEN 
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT);
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP);
		 			--SET_ITEM_VALUE(IN_FORM_PRM,ITEM_REC.FMD_BLOCK,ITEM_REC.FMD_ITEM,IN_LANG_PRM);
		 		ELSIF(ITEM_REC.FMD_ITEM_TYPE IN ('LIST'))THEN 
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT);
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP);
		 			BUILD_LIST(ITEM_REC.FMD_ITEM,IN_LANG_PRM);
		 		ELSIF(ITEM_REC.FMD_ITEM_TYPE IN ('DISPLAY_ITEM'))THEN
		 			SET_ITEM_VALUE(IN_FORM_PRM,ITEM_REC.FMD_BLOCK,ITEM_REC.FMD_ITEM,IN_LANG_PRM);
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT);
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP);
		 		--	SET_ITEM_VALUE(IN_FORM_PRM,ITEM_REC.FMD_BLOCK,ITEM_REC.FMD_ITEM,IN_LANG_PRM);
		 		ELSIF(ITEM_REC.FMD_ITEM_TYPE IN ('INIT_TEXT'))THEN
		 			COPY(ITEM_REC.FMD_PROMPT,ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM);
		 		ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('BUTTON') THEN
		 			IF(GET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,ICONIC_BUTTON)='TRUE')THEN
		 				SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,PROMPT_TEXT,ITEM_REC.FMD_PROMPT);
					ELSE
		 				SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,LABEL,ITEM_REC.FMD_PROMPT);
		 			END IF;
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP);
		 			ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('ICONIC_BUTTON') THEN
		 			 SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP);
		 		ELSIF ITEM_REC.FMD_ITEM_TYPE IN ('CHECK_BOX') THEN
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,LABEL,ITEM_REC.FMD_PROMPT);
		 			SET_ITEM_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||ITEM_REC.FMD_ITEM,TOOLTIP_TEXT,ITEM_REC.FMD_TOOLTIP);
				END IF;
			END IF;
	    IF ITEM_REC.FMD_ITEM_TYPE IN ('MAIN_WINDOW') THEN	 
				  SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,TITLE,ITEM_REC.FMD_PROMPT);
			    SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,DIRECTION,ITEM_REC.FM_DIRECTION);
			   	SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,WINDOW_STATE,MAXIMIZE);
			ELSIF	ITEM_REC.FMD_ITEM_TYPE IN ('WINDOW') THEN	  
				  SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,TITLE,ITEM_REC.FMD_PROMPT);
			    SET_WINDOW_PROPERTY(ITEM_REC.FMD_ITEM,DIRECTION,ITEM_REC.FM_DIRECTION);
			    /*IF_END_003*/
		  ELSIF	ITEM_REC.FMD_ITEM_TYPE IN ('SYSTEM') THEN	  
				  SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,TITLE,ITEM_REC.FMD_PROMPT);
			    SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE);
			    SET_WINDOW_PROPERTY(FORMS_MDI_WINDOW,DIRECTION,ITEM_REC.FM_DIRECTION);
			ELSIF	ITEM_REC.FMD_ITEM_TYPE IN ('TAB_PAGE') THEN	  
				  SET_TAB_PAGE_PROPERTY(ITEM_REC.FMD_ITEM,LABEL,ITEM_REC.FMD_PROMPT);
			ELSIF	ITEM_REC.FMD_ITEM_TYPE IN ('RADIO_BUTTON') THEN	  
				  I:=INSTR(ITEM_REC.FMD_ITEM,'.');
				  IF GET_RADIO_BUTTON_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||SUBSTR(ITEM_REC.FMD_ITEM,1,I-1),
				  															SUBSTR(ITEM_REC.FMD_ITEM,I+1),PROMPT_TEXT)<>'' THEN
					  SET_RADIO_BUTTON_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||SUBSTR(ITEM_REC.FMD_ITEM,1,I-1),
					  															SUBSTR(ITEM_REC.FMD_ITEM,I+1),PROMPT_TEXT,ITEM_REC.FMD_PROMPT);
					ELSE
					  SET_RADIO_BUTTON_PROPERTY(ITEM_REC.FMD_BLOCK||'.'||SUBSTR(ITEM_REC.FMD_ITEM,1,I-1),
					  															SUBSTR(ITEM_REC.FMD_ITEM,I+1),LABEL,ITEM_REC.FMD_PROMPT);
				END IF;
			END IF;	
			/*IF_END_002*/
		END LOOP;      
		/*LOOP_END_001*/
		/*IF_STRT_001*/
--	END IF;
/*IF_END_001*/
END;


regards,
mody

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

السلام عليكم
انا قرات الhub translation
ولكن لم اعرف انفذ شيء
شكرا لك اخ mody
لكن هذا الكود كيف استخدمه للحصول على ماريد
وتشكر على جهودك وارجو ان ترد علي

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

السلام عليكم
ارجو منكم مساعدتي في عمل check box وذلك باستخدام oracle
مثال:
الدرجة 1-اولى 2-ثانية 3-ثالثة
بحيث يستطيع المستخدم اختيار الدرجة المطلوبة :ph34r:

بتاريخ:

والله مشكورين يا شباب مقصرتوا :D :D

  • بعد 7 سنة...
بتاريخ:

تمام شكرا لكم

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

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

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

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

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

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.