الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

File Resource

بدأه Al-Mohana في 5 أبريل 2009 · 2 رد · 1,201 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أيها الأخوه الأعزاء

سأحاول أن أطرح مثال مبسط عن file Resource

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

localization

وقد قمت بعمل مثال بسيط في محاوله لتجريبه لأول مره

وعذرا أني لم أقم بتغيره أوحتى بتتطويره ليرقى ليكون درس

وقد قررت أن أعرضه كما هو

أظنه سيكون مفيدا كأبداية

بداية شرح المثال

المثال عباره عن تحويل اليبل من محتوي أنجليزي ألى عربي

وقد رقمة اليبل

one ---> واحد

وهكذا حتى تسعة

بعد فتح مشروع جديد

نضيف 9 Label

في form

وبعد ذلك

نُضيف مادة جديده

من نوع Resource

ونسميه

R1.resx

وهو سيكون مخزن القيم الأفتراضيه ( يعني عند تشغيل الصفحة يتم تحميل القيم الموجوده داخل الملف)

نفتح الملف

ونقوم بتعبيئة عمودين هما name و value

Button1 Arabic

Button2 English

Label1 One

Label2 Two

Label3 three

Label4 four

Label5 five

Label6 six

Label7 seven

Label8 eight

Label9 nine

******

name هو أسم label

أما

value

هو القيمة المعطاه لي label أي text

ومن ثم ننشأ ملفين أخرين

نسميهن

R1.en.resx للغة الإنجليزيه

و R1.ar.resx للغة العربية (هنا نحول ال value ألى أحرف عربية )

عذرا لم أستتطع أرفاق الصور

***************************

المرحله الثانيه

في السورس كود

نعطي label قيم من Resource file

هكذا

Text="<%$ Resources:R1, Label %>"

وسيكون الكود هكذا

<table style="width:100%;">
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="<%$ Resources:R1, Label1 %>"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label2" runat="server" Text="<%$ Resources:R1, Label2 %>"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label3" runat="server" Text="<%$ Resources:R1, Label3 %>"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="Label4" runat="server" Text="<%$ Resources:R1, Label4 %>"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label5" runat="server" Text="<%$ Resources:R1, Label5 %>"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label6" runat="server" Text="<%$ Resources:R1, Label6 %>"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Label ID="Label7" runat="server" Text="<%$ Resources:R1, Label7 %>"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label8" runat="server" Text="<%$ Resources:R1, Label8 %>"></asp:Label>
                </td>
                <td>
                    <asp:Label ID="Label9" runat="server" Text="<%$ Resources:R1, Label9 %>"></asp:Label>
                </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                    <asp:Button ID="Button1" runat="server" Width="141px" 
                        Text="<%$ Resources:R1,Button1 %>" onclick="Button1_Click"/>
                </td>
                <td>
                    <asp:Button ID="Button2" runat="server" Width="141px" 
                        Text="<%$ Resources:R1,Button2 %>" onclick="Button2_Click"/>
                </td>
            </tr>
            <tr>
                <td>
                     </td>
                <td>
                     </td>
                <td>
                     </td>
            </tr>
        </table>

الأن ننتقل ألى behind code

نضيف function InitializeCulture

 protected override void InitializeCulture()
	{

		Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
		Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
		base.InitializeCulture();

	}

لكن ماذا أذا أردنا عمل زر للغة العربية وأخر للغة الإنجليزية

نضيف session ونعطيه القيمة الأفتراضيه en-US أي لغة الأنجليزية الأمريكية

وعند ضغطنا على زر اللغة العربية نعطي session قيمة ar-OM أي لغة عربية

وسيكون الكود هكذا

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;
using System.Threading;

public partial class _Default : System.Web.UI.Page 
{

	protected void Page_Load(object sender, EventArgs e)
	{



	}

	protected override void InitializeCulture()
	{
		if (Session["ln"]==null)
		{
			Session["ln"] = "en-US";

		}

		string cult = Session["ln"].ToString();
		Thread.CurrentThread.CurrentUICulture = new CultureInfo(cult);
		Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
		base.InitializeCulture();

	}
	protected void Button1_Click(object sender, EventArgs e)
	{

		Session["ln"] = "ar-OM";
		Server.Transfer(Request.Path);


	}

	protected void Button2_Click(object sender, EventArgs e)
	{
		Session["ln"] = "en-US";
		Server.Transfer(Request.Path);

	}
}

وهذا المثال كاملا

test.rar

وهذه بعض الوصلات ذات العلاقة

هنا

و

وهذا مثال مفيد

وهذا مثال أخر

وأخيرا أرجوا أن أكون قد وفقت

وأن أخطأت فمن نفسي وأن أصبت فهذا توفيق من الله

والسلام عليكم

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

ربنا يكرمك ويبارك في علمك وينفع بك ويسعد في الدار الدنيا والدار الآخرة

#3

بالتوفيق و مزيد من العطاء اخي Al-Mohana

مواضيع مشابهة