1

Code behind:

 ResourceManager rm;
    CultureInfo ci;
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            Session["Flag"] = null;
            Session["Language"] = null;
            Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
            rm = new ResourceManager("Resources.Language",
                     System.Reflection.Assembly.Load("App_GlobalResources"));
            ci = Thread.CurrentThread.CurrentCulture;
            LoadLanguage(ci);

        }
    }
    private void LoadLanguage(CultureInfo ci) 
    {
        lblHindi.Text = rm.GetString("Hindi", ci);
        lblTelugu.Text = rm.GetString("Telugu", ci);

    }

and i have the following files in my App_GlobalResources Folder

enter image description here

Design :

   <center>




        <a href="Default.aspx"><asp:Label ID="lblHindi" runat="server" Text="Hindi"></asp:Label></a>
        <br />
 <br />

        <a href="Default.aspx"><asp:Label ID="lblTelugu" runat="server" Text="Telugu"></asp:Label></a>
  <br />
        </center>

However it doesnt work what do i do

Please help

vini
  • 4,657
  • 24
  • 82
  • 170

2 Answers2

0

Do you can add and try this code?

"protected override void InitializeCulture()" -> To be on call the method that overrides the application layer Culture

protected override void InitializeCulture()
{
    //...
    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
    base.InitializeCulture();
    ci = Thread.CurrentThread.CurrentCulture;
    //...
}

private void LoadLanguage(CultureInfo ci) 
{
    lblHindi.Text = rm.GetString("Hindi", ci);
    lblTelugu.Text = rm.GetString("Telugu", ci);

}
Mehdi Bugnard
  • 3,889
  • 4
  • 45
  • 86
0

The code what you have written is perfectly fine. Seems like the problem is the way you access the Strings from Resource files. You have to maintain the same Key in each resource file, while the value will be translated in different languages. Say you will create a key "SOME_KEY1" having value in English in Language.resx file. Create the same key with different value translated in other languages in other resx files. After that you can access the translated strings as follows:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Session["Flag"] = null;
                Session["Language"] = null;

                rm = new ResourceManager("Resources.Language",
                         System.Reflection.Assembly.Load("App_GlobalResources"));

                LoadLanguage();
            }
        }

        private void LoadLanguage()
        {
            lblHindi.Text = rm.GetString("SOME_KEY1", new CultureInfo("hi-IN"));
            lblTelugu.Text = rm.GetString("SOME_KEY1", new CultureInfo("te-IN"));
        }
Santosh Panda
  • 7,235
  • 8
  • 43
  • 56