Both Google Translate and Spanishdict.com translate silly as tonto. However, both as translate dumb as tonto also. I find this hard to understand because silly and dumb are not synonymous in English, and notably calling someone silly in English is generally fun and playful, whereas calling someone dumb in English is an insult.
How should I understand this? Is it completely context-driven? Is there a safer word for silly for a novice to use to ensure it is not taken offensively?