Well, in simple term, Syntax Analysis checks the Grammar (or the formation or the position) of the words in the sentence, while SDT (Syntax-Directed Translation) is more about Validating the sentence and performing the action, according to the grammar.
For example, check this.
int a = 10; // It is syntactically correct.
a = 10 int; // It is syntactically not correct, hence Syntax Analysis will give error.
/**** Now Chceck this ****/
bool a; // "a" is a boolean type of variable, I am assuming it allow
// only two values "0" or "1"
a = 3; // According to our assumption in above line, this should give error
// But this can not be detected if we do not have SDT, because syntax wise
// it is a correct statement.
So basically, SDT is used to validate the syntax (not the structure but the meaning), While Syntax Analysis is used to check the structure of the statement.