PDA

View Full Version : سایت دوزبانه با تگhtml



azam2005
سه شنبه 02 اسفند 1384, 09:38 صبح
میخواهم سایت دو زبانه بنویسم که بتوانم به کمک فایلresx تکست فارسی یا انگلیسی آن دسترسی داشته باشم اما نمی خواهم در Codebehindeکدی بنویسم و میخواهم در Html آن تعریف کنم آیا امکان آن است?

Behrouz_Rad
سه شنبه 02 اسفند 1384, 15:23 عصر
میخواهم سایت دو زبانه بنویسم که بتوانم به کمک فایلresx تکست فارسی یا انگلیسی آن دسترسی داشته باشم
آسونه...

نمی خواهم در Codebehindeکدی بنویسم و میخواهم در Html آن تعریف کنم آیا امکان آن است?
منظورت اینه که کدهای Server Side رو در فایل aspx بنویسی؟ (که میشه)

azam2005
چهارشنبه 03 اسفند 1384, 07:51 صبح
سلام خوشحالم که شما جواب سوالم را دادید چون همیشه به جواب میرسم
من دو فایل ref.en.resx,ref.fr.resx دارم و کد زیر را در codebehindeدارم



Imports System.Resources

Imports System.Globalization

Imports System.Threading
Protected gStrings As ResourceManager = New ResourceManager("Msg.Ref", GetType(MultiLan).Assembly)
Private Sub SetCulture(ByVal sLang As String)Thread.CurrentThread.CurrentUICulture = New CultureInfo(sLang)Thread.CurrentThread.CurrentCult ure = _(CultureInfo.CreateSpecificCulture(sLang
("LName.Text = gStrings.GetString("LName
("LFamily.Text = gStrings.GetString("LFamily
("B.Text = gStrings.GetString("B

End Sub


میخواهم به جای این کار
مثلا در htmlتگ بگویم متن را از چه فایلی ref.en.resx یا ref.fr.resx وکدام فیلد بخوان








<Asp:label id=Fname>
<lablel/>

Behrouz_Rad
چهارشنبه 03 اسفند 1384, 08:13 صبح
ساده ست!
یک تگ Script با مقداردهی runtat برابر با server در فایل aspx قرار بدید و کد فوق رو در این تگ بگذارید و طبق روال عادی فراخونیش کنید.


<% SetCulture(sLang) %>


این نکته رو در نظر داشته باشید که روال های ایجاد شده در فایل aspx در Code Behind قابلیت فراخونی ندارند اما بالعکسش صادقه.
موفق باشید.

PrinceDotNet
چهارشنبه 03 اسفند 1384, 21:53 عصر
چطور میشه فیلدهای توی فایلهای resx رو عوض کرد ؟

Behrouz_Rad
چهارشنبه 03 اسفند 1384, 21:57 عصر
روی فایل RESX در محیط VS.NET، دو بار کلیک کن تا متوجه بشی!

PrinceDotNet
چهارشنبه 03 اسفند 1384, 22:39 عصر
متشکر !!!!!!!!!!!!!!!!!!!!!!!

ولی منظورم از طریق کد نویسی بود.

یک چیزی شبیه dotnetnuke

Behrouz_Rad
جمعه 05 اسفند 1384, 07:42 صبح
از کلاس ResourseWriter استفاده کن!


Dim writer As New ResourceWriter("myResources.resources")
writer.AddResource("Name", "Value")
writer.Close()

موفق باشید.

m.hamidreza
چهارشنبه 30 خرداد 1386, 23:47 عصر
اصول طراحی سایت دو زبانه چیه ؟ به تعداد صفحات فارسی صفحه انگلیسی درست کنیم ؟
که به نظر منطقی نیست ! فکر کنم با xml بشه یه کارایی کرد ؟ این روش رو هم نفهمیدم !
راهنمایی کنید ممنون میشم . . .

MehranZand
پنج شنبه 31 خرداد 1386, 08:58 صبح
شما در سایت دو زبانه فقط یک صفحه درست می کنید و فقط ریسورس ها برای تغییر
زبان عوض می شوند

m.hamidreza
پنج شنبه 31 خرداد 1386, 12:34 عصر
شما در سایت دو زبانه فقط یک صفحه درست می کنید و فقط ریسورس ها برای تغییر
زبان عوض می شوند


بیشتر میشه توضیح بدی .... resource ؟
----
tanQ

MehranZand
پنج شنبه 31 خرداد 1386, 14:26 عصر
سرچ کنید به نتایج خوبی میرسی
http://barnamenevis.org/forum/showthread.php?t=56114&highlight=Resource

m.hamidreza
جمعه 01 تیر 1386, 15:51 عصر
:تشویق:

--------

tanQ