title: Changing speech synthesizer language and reading it
body: <p>I have a description form that contain labels and 3 buttons(btntts,btnstop and btnchinese), I have also referenced <code>System.Speech.dll</code> already. As seen from the code below, when clicked it will draw the data that contains the chinese description from the database to populate the labels. </p>
  
  <pre><code>private void btnchinese_Click(object sender, EventArgs e)
          {
              if (btnchinese.Text == "Chinese")
              {
                  using (SqlConnection sqlcon = new SqlConnection(connectionstring))
                  {
                      sqlcon.Open();
                      using (SqlCommand sqlcom = new SqlCommand("Select * from DishRepresentation WHERE Dish_ID='" + lblid.Text + "' and DishLanguage='Chinese'", sqlcon))
                      {
                          SqlDataReader sqldr = sqlcom.ExecuteReader();
                          sqldr.Read();
                          lbldescription.Text = sqldr["DishDescription"].ToString();
                          lbldishname.Text = sqldr["DishName"].ToString();
                          lbldisheatbenefit.Text = sqldr["DishHealthBenefit"].ToString();
                          lblbenefit.Text = sqldr["DishBenefit"].ToString();
                          lblbenefit2.Text = sqldr["DishBenefit2"].ToString();
                          lblbenefit3.Text = sqldr["DishBenefit3"].ToString();
                          lblbenefit4.Text = sqldr["DishBenefit4"].ToString();
                          lblbenefit5.Text = sqldr["DishBenefit5"].ToString();
                      }
                  }
  
                  btnchinese.Text = "英语";
                  btnstopspeech.Text = "停止阅读";
  </code></pre>
  
  <p>As for btntts, it will read the text populated.(Code Below)</p>
  
  <pre><code>private void btnTTS_Click(object sender, EventArgs e)
          {
              pbuilder = new PromptBuilder();
              speaker2 = new SpeechSynthesizer();
              if (btnchinese.Text == "英语")
              {
                  var culture = CultureInfo.GetCultureInfo("zh-CN");
                  var voices = speaker2.GetInstalledVoices(culture);
                  speaker.Rate = -2;
                  pbuilder.AppendText(lbldishname.Text);
                  SetTimer(2000);
                  pbuilder.AppendText(lbldescription.Text);
                  speaker2.SpeakAsync(pbuilder);
              }
              else if (btnchinese.Text == "Chinese")
              {
                  var culture = CultureInfo.GetCultureInfo("en-US");
                  var voices = speaker2.GetInstalledVoices(culture);
                  speaker.Rate = -2;
                  pbuilder.AppendText(lbldishname.Text);
                  SetTimer(2000);
                  pbuilder.AppendText(lbldescription.Text);
                  speaker2.SpeakAsync(pbuilder);
              }
          }
  </code></pre>
  
  <p>NOTE: When the label is populated using english, btntts works as required and read the labels to the user. However it will not read, when it is populated with chinese. How can I make it read chinese as well? </p>