Document stub.png This article or section may not have content matching Scratch Wiki editing standards. Please improve it according to Scratch Wiki:Guidelines and Scratch Wiki:Editing Conventions. (July 2021)
Reason: Nothing but a list of variables and a single scratchblocks tag

A translator is a project which can change words into different languages using the Translate Extension. This tutorial will show how to make a translator. It is useful if one wants to make a translator application in an Operating System project.


You will need one sprite to store all the code:

  • Button

Two variables will be also needed to store the language entered as well as the text string the user wants to translate.

  • (to language)
  • (string)

Two messages will be needed to tell the project when to ask for the language (it will do this after the string is given by the user):

  • broadcast (original v)
  • broadcast (to what v)

Programming the Translator

Add the following code to the button:

when green flag clicked
broadcast (original v) //This broadcasts a message so that the project knows to ask for the word.

when I receive [original v]
say [Click this button to translate.]
wait until <<touching (mouse-pointer v)> and <mouse down?>> //This waits until the button is clicked.
say []//This is so it stops saying "Click this button to translate."
ask [What shall be translated? Please only enter real words or the translator will not work.] and wait
set [string v] to (answer) //This stores the word that the user entered inside of a variable. This is an important part!
broadcast (to what v) //This tells the program that it should ask for the language next.

when I receive [to what v]
ask [To what language?] and wait
set [to language v] to (answer)
if <(translate (string) to (to language)) = (string)> then //This is to make sure a supported language is entered.
say [Please enter a supported language.] //If a supported language isn't entered, this code will say "Please enter a supported language."
broadcast (to what v) //This asks the project to ask the user "What language?" again, creating recursion.
say (translate (string) to (to language))
wait until <<touching (mouse-pointer v)> and <mouse down?>>
say []
broadcast (original v)

Your translator is now ready!

Cookies help us deliver our services. By using our services, you agree to our use of cookies.