بتاريخ: 28 سبتمبر 200421 سنة comment_13648 السلام عليكم اريد ان اعرف كيف يمكنني ان اعمل مشروعي بلغتين حيث يسطتيع المستخدم ان يختار اللغه قبل الدخول للبرنامجهل هذا مسموح او ممكن ارجوكم اجيبونيولكم الشكر كله تقديم بلاغ
بتاريخ: 28 سبتمبر 200421 سنة comment_13658 يمكنكي استخدام برنامج translation hub و الذي ينزل مع oracle developer suite 9i ولكني بصراحه لم اعمل عليه من قبل ولكن سابحث عن دروس له و باذن الله سارد في اسرع وقت ممكن..الى اللقاء تقديم بلاغ
بتاريخ: 28 سبتمبر 200421 سنة comment_13693 نعم صحيح كما قال الاخ rami_gnena بأمكانك عمل ذلك عن طريق TranslationHub وهذه ملخص عنه ،، Forms___TranslationHub.pdf تقديم بلاغ
بتاريخ: 28 سبتمبر 200421 سنة comment_13696 لدى فكرة قمت بتنفيذها وهىالقيام بعمل نسختين من الفورمز واحده عربية والأخرى انجليزيةوالصفحة الامم تحتوى على لينكين لكل صفحة ويتم اعداد الشاشات حسب اللغةولكن الاثنين سيقومان بإنزال جميع البيانات فى داتا بيز واحدهوعند الاستعلام يتم استرجاع ما هو عربى وما هو انجليزىحل هذه المشكلة هو عمل فلاج فى الشاشة العربى لا يسترجع الا ما هو عربى والعكس فى الشاشةالانجليزى لا يسترجع الا الانجليزى من البينات وكذلك نكون قد عملنا برنامجين عربى وانجليزى منفصلين على قاعدة بينات واحده تقديم بلاغ
بتاريخ: 29 سبتمبر 200421 سنة كاتب الموضوع comment_13735 السلام عليكم مشكورين جميعاانا نزلت الملف ورح احاول اقرا وافهم شو اعملبس يا اخ x_oracle_xانا فكرت بفكرتك بس كيف اعمل شلنج بالفورم انتا اعملتها تقديم بلاغ
بتاريخ: 29 سبتمبر 200421 سنة comment_13782 جزاك الله الف خير يا اخ ابوصالح .... انا كنت جاي علشان انزل نفس الملف و لكن لقيت من هو اسرع مني في فعل الخيرسلام تقديم بلاغ
بتاريخ: 30 سبتمبر 200421 سنة comment_13813 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 تقديم بلاغ
بتاريخ: 2 أكتوبر 200421 سنة كاتب الموضوع comment_13934 السلام عليكم انا قرات الhub translationولكن لم اعرف انفذ شيءشكرا لك اخ mody لكن هذا الكود كيف استخدمه للحصول على ماريد وتشكر على جهودك وارجو ان ترد علي تقديم بلاغ
بتاريخ: 2 أكتوبر 200421 سنة كاتب الموضوع comment_13935 السلام عليكم ارجو منكم مساعدتي في عمل check box وذلك باستخدام oracle مثال:الدرجة 1-اولى 2-ثانية 3-ثالثة بحيث يستطيع المستخدم اختيار الدرجة المطلوبة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.