1- Öncelikle projenizde App_GlobalResources isimli bir dosya oluşturmalısınız.
2- İçine Add->Resources File ile resx uzantılı yeni bir dosya oluşturun. Bu dosya açıldığında değeri ve karşılık gelecek değeri girebileceğiniz alanlar göreceksiniz. Örnek için bir iki tane doldurun. Mesela "TamamButonu" değeri "Tamam" olsun.
Diyelim resx dosyasına WebResources.resx adını verdik.
3- Aynı dosyadan başka diller için de oluşturduğunuzda, otomatik browserın dili değiştiğinde uygulamanız o dile ait resx dosyasını kullanmaya başlayacak. Otomatik değişimin sağlanması için unutmadan Web.config dosyasının içine de 1 satır kod eklemeliyiz.
<system.web> içine
<globalization culture="auto" uiCulture="auto" />
4- Dil desteği için oluşturulan dosyanın adı örneğin ingilizce için
WebResources.en-US.resx şeklinde oluşturulmalıdır. Diğer diller için de başka dosyalar oluşturabilirsiniz.
5- aspx sayfasında kullanıma geldik bile. Aşağıdaki kullanım ile de oluşturduğumuz bir butona yazı hanesinde kaynak dosyamızdaki değeri getirmesini bildirdik.
<dx:ASPxButton ID="butGiris" runat="server" OnClick="butGiris_Click"
Text="<%$ Resources:WebResources,TamamButonu%>" />
Bu kadar kolay :)
peki tr bilgisayarda iken ingilizce resource dosyasına nasıl geçiş yapabiliriz acaba
YanıtlaSilBen denemeler için bir dropdown kullanıyorum
YanıtlaSilBritish English
English
ve kod içinde SelectedIndexChanged eventinde aşağıdaki şekilde dili değiştiriyorum. Değişikliği web.config ayarlarından da yapmak mümkün.
protected void ddlCulture_SelectedIndexChanged(object sender, EventArgs e)
{
Session["uiculture"] = ddlCulture.SelectedValue;
Session["culture"] = ddlCulture.SelectedValue;
Response.Redirect(Request.Path);
}
şeklinde dili değiştiriyorum.