دلفي تعليم
مرحبا بكم ايها الزئر أو الزائرة الكريمين

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

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

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

مُساهمة  alla في 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 مرات (السبب : توضيح وتفسير)

_________________
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

alla
مبرمج مجتهد

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

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

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

مُساهمة  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

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

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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