Back to Content

SpeechSynthesisUtterance: lang property

files/en-us/web/api/speechsynthesisutterance/lang/index.md

latest1.2 KB
Original Source

{{APIRef("Web Speech API")}}

The lang property of the {{domxref("SpeechSynthesisUtterance")}} interface gets and sets the language of the utterance.

If unset, the app's (i.e., the {{htmlelement("html")}} lang value) lang will be used, or the user-agent default if that is unset too.

Value

A string representing a {{glossary("BCP 47 language tag")}}.

Examples

js
const synth = window.speechSynthesis;

const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");

const voices = synth.getVoices();

// …

inputForm.onsubmit = (event) => {
  event.preventDefault();

  const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
  const selectedOption =
    voiceSelect.selectedOptions[0].getAttribute("data-name");
  for (const voice of voices) {
    if (voice.name === selectedOption) {
      utterThis.voice = voice;
    }
  }
  utterThis.lang = "en-US";
  synth.speak(utterThis);
  inputTxt.blur();
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also