Because tonight is referring to a time yet to come wouldn't it be better to say: "Tonight she will not sleep"
Consider its use as a noun and an adverb. As an adverb, it is referring also to a time yet occuring, i.e during.
Again, the English translation contains two common errors made by non-native English speakers. It should be "She won't sleep tonight." In Indonesian the future is often implied but it is nearly always stated in English.
Two common errors, but you mention only one?
Also, "tonight" can be used as either: (i) an adverb; (ii) noun.
Here you used it as ONLY meaning a noun.