Note that there are some explanatory texts on larger screens.

plurals
  1. POMulti Language website with Global Resources
    primarykey
    data
    text
    <p>I have an website that contains 3 options idioms. </p> <p>When User click in some button to change Idiom, I need change all Header and some texts to my GridView.</p> <p>I made this option in my cs, but this translation works only on second click.</p> <p>What could be wrong?</p> <p>I made five labels to test, and all texts translated in first click.</p> <p>I apply this option in other page, and also translated in first click.</p> <p>My .aspx</p> <pre><code>&lt;body&gt; &lt;form id="form1" runat="server"&gt; &lt;div&gt; &lt;div align="center"&gt; &lt;asp:ImageButton ID="pt" ImageUrl="style/PT_48.png" runat="server" OnClick="pt_OnChange" OnClientClick="return pt_OnChange()" /&gt; &amp;nbsp; &lt;asp:ImageButton ID="en" ImageUrl="style/EN_48.png" runat="server" OnClick="en_OnChange" OnClientClick="return en_OnChange()" /&gt; &amp;nbsp; &lt;asp:ImageButton ID="es" ImageUrl="style/ES_48.png" runat="server" OnClick="es_OnChange" OnClientClick="return es_OnChange()" /&gt; &lt;/div&gt; &lt;asp:Label ID="teste" runat="server"&gt;&lt;/asp:Label&gt; &lt;asp:Label ID="Label1" runat="server"&gt;&lt;/asp:Label&gt; &lt;asp:Label ID="Label2" runat="server"&gt;&lt;/asp:Label&gt; &lt;asp:Label ID="Label3" runat="server"&gt;&lt;/asp:Label&gt; &lt;asp:Label ID="Label4" runat="server"&gt;&lt;/asp:Label&gt; &lt;div id="Div1" runat="server"&gt; &lt;br /&gt; &lt;br /&gt; &lt;asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" GridLines="None" CssClass="table table-bordered table-striped" HeaderStyle-Font-Size="14px"&gt; &lt;Columns&gt; &lt;asp:BoundField DataField="idTickets" /&gt; &lt;asp:BoundField DataField="UserName" /&gt; &lt;asp:BoundField DataField="AccessGroup" /&gt; &lt;asp:BoundField DataField="FolderAccess" /&gt; &lt;asp:BoundField DataField="RequestDate" DataFormatString="{0:d}" /&gt; &lt;asp:BoundField DataField="SituationDesc" /&gt; &lt;asp:BoundField DataField="Approver" /&gt; &lt;asp:BoundField DataField="ApprovalDate" DataFormatString="{0:d}" /&gt; &lt;asp:BoundField DataField="BusinessJustification" /&gt; &lt;asp:BoundField DataField="Server" /&gt; &lt;asp:BoundField DataField="UserRequestor" /&gt; &lt;/Columns&gt; &lt;/asp:GridView&gt; &lt;/div&gt; &lt;/div&gt; &lt;/form&gt; </code></pre> <p></p> <p>My .cs</p> <pre><code> protected void Page_Load(object sender, EventArgs e) { Idioma.MudaCultura(idiom); Label1.Text = Idioma.RetornaMensagem("UserRequestor"); Label2.Text = Idioma.RetornaMensagem("BusinessJustification"); Label3.Text = Idioma.RetornaMensagem("welcome"); Label4.Text = Idioma.RetornaMensagem("btnManager"); teste.Text = Idioma.RetornaMensagem("SituationDesc"); GridView1.Columns[0].HeaderText = Idioma.RetornaMensagem("idTickets"); GridView1.Columns[1].HeaderText = Idioma.RetornaMensagem("UserName"); GridView1.Columns[2].HeaderText = Idioma.RetornaMensagem("AccessGroup"); GridView1.Columns[3].HeaderText = Idioma.RetornaMensagem("FolderAccess"); GridView1.Columns[4].HeaderText = Idioma.RetornaMensagem("RequestDate"); GridView1.Columns[5].HeaderText = Idioma.RetornaMensagem("SituationDesc"); GridView1.Columns[6].HeaderText = Idioma.RetornaMensagem("Approver"); GridView1.Columns[7].HeaderText = Idioma.RetornaMensagem("ApprovalDate"); GridView1.Columns[8].HeaderText = Idioma.RetornaMensagem("BusinessJustification"); GridView1.Columns[9].HeaderText = Idioma.RetornaMensagem("Server"); GridView1.Columns[10].HeaderText = Idioma.RetornaMensagem("UserRequestor"); if (!Page.IsPostBack) { var listaTickets = new Tickets().ConsultarTickets(); if (listaTickets != null) { this.GridView1.DataSource = listaTickets; if (listaTickets.Count != 0) { this.GridView1.DataBind(); GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; } } } } protected void pt_OnChange(object sender, EventArgs e) { idiom = "pt"; Idioma.MudaCultura(idiom); GridView1.Columns[0].HeaderText = Idioma.RetornaMensagem("idTickets"); GridView1.Columns[1].HeaderText = Idioma.RetornaMensagem("UserName"); GridView1.Columns[2].HeaderText = Idioma.RetornaMensagem("AccessGroup"); GridView1.Columns[3].HeaderText = Idioma.RetornaMensagem("FolderAccess"); GridView1.Columns[4].HeaderText = Idioma.RetornaMensagem("RequestDate"); GridView1.Columns[5].HeaderText = Idioma.RetornaMensagem("SituationDesc"); GridView1.Columns[6].HeaderText = Idioma.RetornaMensagem("Approver"); GridView1.Columns[7].HeaderText = Idioma.RetornaMensagem("ApprovalDate"); GridView1.Columns[8].HeaderText = Idioma.RetornaMensagem("BusinessJustification"); GridView1.Columns[9].HeaderText = Idioma.RetornaMensagem("Server"); GridView1.Columns[10].HeaderText = Idioma.RetornaMensagem("UserRequestor"); Label1.Text = Idioma.RetornaMensagem("UserRequestor"); Label2.Text = Idioma.RetornaMensagem("BusinessJustification"); Label3.Text = Idioma.RetornaMensagem("welcome"); Label4.Text = Idioma.RetornaMensagem("btnManager"); teste.Text = Idioma.RetornaMensagem("SituationDesc"); } protected void en_OnChange(object sender, EventArgs e) { idiom = "en"; Idioma.MudaCultura(idiom); GridView1.Columns[0].HeaderText = Idioma.RetornaMensagem("idTickets"); GridView1.Columns[1].HeaderText = Idioma.RetornaMensagem("UserName"); GridView1.Columns[2].HeaderText = Idioma.RetornaMensagem("AccessGroup"); GridView1.Columns[3].HeaderText = Idioma.RetornaMensagem("FolderAccess"); GridView1.Columns[4].HeaderText = Idioma.RetornaMensagem("RequestDate"); GridView1.Columns[5].HeaderText = Idioma.RetornaMensagem("SituationDesc"); GridView1.Columns[6].HeaderText = Idioma.RetornaMensagem("Approver"); GridView1.Columns[7].HeaderText = Idioma.RetornaMensagem("ApprovalDate"); GridView1.Columns[8].HeaderText = Idioma.RetornaMensagem("BusinessJustification"); GridView1.Columns[9].HeaderText = Idioma.RetornaMensagem("Server"); GridView1.Columns[10].HeaderText = Idioma.RetornaMensagem("UserRequestor"); Label1.Text = Idioma.RetornaMensagem("UserRequestor"); Label2.Text = Idioma.RetornaMensagem("BusinessJustification"); Label3.Text = Idioma.RetornaMensagem("welcome"); Label4.Text = Idioma.RetornaMensagem("btnManager"); teste.Text = Idioma.RetornaMensagem("SituationDesc"); } protected void es_OnChange(object sender, EventArgs e) { idiom = "es"; Idioma.MudaCultura(idiom); GridView1.Columns[0].HeaderText = Idioma.RetornaMensagem("idTickets"); GridView1.Columns[1].HeaderText = Idioma.RetornaMensagem("UserName"); GridView1.Columns[2].HeaderText = Idioma.RetornaMensagem("AccessGroup"); GridView1.Columns[3].HeaderText = Idioma.RetornaMensagem("FolderAccess"); GridView1.Columns[4].HeaderText = Idioma.RetornaMensagem("RequestDate"); GridView1.Columns[5].HeaderText = Idioma.RetornaMensagem("SituationDesc"); GridView1.Columns[6].HeaderText = Idioma.RetornaMensagem("Approver"); GridView1.Columns[7].HeaderText = Idioma.RetornaMensagem("ApprovalDate"); GridView1.Columns[8].HeaderText = Idioma.RetornaMensagem("BusinessJustification"); GridView1.Columns[9].HeaderText = Idioma.RetornaMensagem("Server"); GridView1.Columns[10].HeaderText = Idioma.RetornaMensagem("UserRequestor"); Label1.Text = Idioma.RetornaMensagem("UserRequestor"); Label2.Text = Idioma.RetornaMensagem("BusinessJustification"); Label3.Text = Idioma.RetornaMensagem("welcome"); Label4.Text = Idioma.RetornaMensagem("btnManager"); teste.Text = Idioma.RetornaMensagem("SituationDesc"); } </code></pre> <p>My class with RetornaMensagem and MudaCultura.</p> <p>public class Idioma { private string chaveRM = "";</p> <pre><code>public string ChaveRM { get { return chaveRM; } set { chaveRM = value; } } public static string RetornaMensagem(string NomeMensagem) { ResourceManager resx = new ResourceManager(typeof(RM)); return resx.GetString(NomeMensagem, System.Threading.Thread.CurrentThread.CurrentCulture); } public static void MudaCultura(string cultura) { if (cultura=="pt") { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("pt", true); } else if(cultura=="en") { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en", true); } else if (cultura == "es") { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("es", true); } } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload