دلفي تعليم
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

كيف أجعل برنامجي يضيف اللغة العربية تلقائيا

2 مشترك

اذهب الى الأسفل

كيف أجعل برنامجي يضيف اللغة العربية تلقائيا Empty كيف أجعل برنامجي يضيف اللغة العربية تلقائيا

مُساهمة  ali 26/3/2017, 7:06 pm

بسم الله الرحمن الرحيم
الصلاة السلام على رسول الله

كيف أجعل برنامجي يضيف اللغة العربية تلقائيا

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

هل هناك أستطيع أن أضيفها أم ماذا
وكيف ذلك

وأكون مضطر الى اضافة  اللغة العربية يدويا فهل من حل شكرا


هذا مثال بسيط وهناك مرفق من يطلع عليه يعطينا رأيه شكرا

الكود:

procedure TForm3.FormCreate(Sender: TObject);
begin
    BiDiMode := bdRightToLeft;
    Font.Charset := ARABIC_CHARSET;
    Position := poScreenCenter;
    button1.BiDiMode := bdRightToLeft;
    button1.Font.Charset := ARABIC_CHARSET;
    Panel1.BiDiMode := bdRightToLeft;
    Panel1.Font.Charset := ARABIC_CHARSET;
    GroupBox1.BiDiMode := bdRightToLeft;
    GroupBox1.Font.Charset := ARABIC_CHARSET;
    RadioGroup1.BiDiMode := bdRightToLeft;
    RadioGroup1.Font.Charset := ARABIC_CHARSET;
    RadioButton1.BiDiMode := bdRightToLeft;
    RadioButton1.Font.Charset := ARABIC_CHARSET;
    RadioButton2.BiDiMode := bdRightToLeft;
    RadioButton2.Font.Charset := ARABIC_CHARSET;
    CheckBox1.BiDiMode := bdRightToLeft;
    CheckBox1.Font.Charset := ARABIC_CHARSET;
    CheckBox2.BiDiMode := bdRightToLeft;
    CheckBox2.Font.Charset := ARABIC_CHARSET;
    Memo1.BiDiMode := bdRightToLeft;
    Memo1.Font.Charset := ARABIC_CHARSET;
    edit1.BiDiMode := bdRightToLeft;
    edit1.Font.Charset := ARABIC_CHARSET;
    label1.BiDiMode := bdRightToLeft;
    label1.Font.Charset := ARABIC_CHARSET;
    BitBtn1.BiDiMode := bdRightToLeft;
    BitBtn1.Font.Charset := ARABIC_CHARSET;

    caption := 'النافذة الثانية';
    button1.Caption := 'رجوع الى النافذة الرئيسية';
    Panel1.Caption := 'هذا بانال';
    GroupBox1.Caption := 'هذا قروب بوكس';
    RadioGroup1.Caption := 'هذا راديو قروب';
    RadioButton1.Caption := 'هذا راديو بوتو';
    RadioButton2.Caption := 'هذا راديو بوتو2';
    CheckBox1.Caption := 'هذا شاك بوكس1';
    CheckBox2.Caption := 'هذا شاك بوكس2';
    Memo1.Lines.Add('هذه سطور ميمو');
    Memo1.Text := 'هذا ميمو';
    edit1.Text := 'هذا اديت';
    label1.Caption := 'هذه لابل';
    RadioGroup1.Items.Strings[0] := 'هذا أول اتام';
    RadioGroup1.Items.Strings[1] := 'هذا ثاني اتام';
    RadioGroup1.Items.Strings[2] := 'هذا ثالث اتام';
    BitBtn1.Caption := 'هذا بيت تيتن';
end;



سم الله الرحمن الرحيم
الصلاة السلام على رسول الله
كيف أجعل برنامجي يضيف اللغة العربية تلقائيا

الكود:

program Project1;

uses
  Forms,
  SysUtils,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

procedure GdiInitializeLanguagePack(LoadedShapingDLLs:integer); stdcall; external 'gdi32.dll' ;

//  procedure InitBKNEnableArabic();
//stdcall; external 'EnableArabic.dll';

{$R *.res}

begin
GdiInitializeLanguagePack(0); // تعمل ولكن لا تقدم ولا تأخر
  //InitBKNEnableArabic();  // غير موجود dll ملف دي ال ال

  Application.Initialize;
// لا تعمل
// SetThreadLocale(MAKELCID(MAKELANGID(LANG_GREEK,SUBLANG_DEFAULT),SORT_DEFAULT));
// SetThreadLocale(1025); // هذه وجدتها في المنتدى هنا ولم تعمل
// GetFormatSettings; // هذه وجدتها في المنتدى هنا ولم تعمل أيضا
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

كيف أجلب ملف دي ال ال هذا 'EnableArabic.dll
ومن أين وكيف

ولماذا لم تعمل هذه الدالتبن SetThreadLocale(1025 و GetFormatSettings
رغم اني طبقت ماهو مكتوب في الموضوع

وهذه الدالة لم تأخر ولم تقدم GdiInitializeLanguagePack
كوجودها كعدمه


ثانيا :

لغة برامج ليست unicode في
لوحة التحكم غير اللغة العربية


اللغة العربية مضافة بشكل جيد وظاهرة في كل العناصر كما تشاهد
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]


اللغة العربية غير مضافة بشكل جيد وغير ظاهرة في بعض العناصر كما تشاهد
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

هناك عناصر لاتدعم اللغة العربية

رغم أني مكنت كل الخصائص التي تدعم اللغة العربية

شارسات عربي
Font.Charset := ARABIC_CHARSET;

وجعلتها من اليمين الى اليسار
BiDiMode := bdRightToLeft;

مثلا العنصر TEdit يدعم اللغة العربية
TCheckBox لايدعم اللغة العربية


Options avancées
خيرات متقدمة

Lange pour les programme non unicode
نضيف احدى دول العربية  ك الجزائر أ و مصر أ و مملكة العربية السعودية أ و غيرها م الدول العربية
لان اللغة التي يتكلون بها هي العربية
نختار ها من الكومبو بوكس "ComboBox" كما يقال في دلفي
وهو مربع نص ذو قائمة

كلامي موجه المبتدئ في البرمجة حتى يستطيع أن يضيفها بشكل جيد


عدل سابقا من قبل alla في 1/4/2017, 12:03 am عدل 2 مرات (السبب : توضيح وتفسير)

ali
مبرمج مجتهد

عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013

الرجوع الى أعلى الصفحة اذهب الى الأسفل

كيف أجعل برنامجي يضيف اللغة العربية تلقائيا Empty دعم اللغة العربية وتنسيق يونيكود في دلفي

مُساهمة  ahmed ben ali 30/6/2017, 6:48 pm

دعم اللغة العربية وتنسيق يونيكود في دلفي

مزيد حول دعم اللغة العربية وتنسيق يونيكود في دلفي

قديما , وعند تشغيل برامج مصممة على دلفي كانت تظهر مشكلة صغيرة مع اللغة العربية على اجهزة ويندوز التي لم يتم تحديد خيارات اللغة فيها بشكل مكتمل , وبالتحديد خيار : change system locale في الإعدادات الإقليمية ضمن خيارات لوحة التحكم (region and Language) .

مقال رائع على الرابط التالي :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
orwah.net/modules/news/article.php?storyid=143


ahmed ben ali

عدد المساهمات : 6
تاريخ التسجيل : 27/07/2013

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى