I speak/know the english way, but mom is not (the english way)? Is that the logic behind the "–" here?
You can see all the logic in the original translation: I speak English and mom does not. It is all but literal. We use "нет" instead of "don't", "doesn't", "isn't", and so on, when it's a contraction of a full phrase:
- Я ем рис, а ты нет. I eat rice, and you don't.
- У тебя есть кошка, а у меня нет. You have a cat, and I don't.
- Ты бегаешь быстро, а я нет. You run fast, and I don't (I'm not fast).
Yes but in your sentences you don't add the "—" at any point. I don't understand why there is one here.
I'm not really sure it's necessary here. Can't recall a rule that requires it. My guess is that it is better to use the dash with a noun (like "мама") and omit it with pronouns (like "я"). But I'm not 100% sure.
The logic behing the "—" is that this part of the sentence is contracted, you don't say "а мама не говорит по-английски".
wouldn't be it be better to say я говорю по-ангийски но мама - нет? since you are trying to compare?
"I speak English, but not my mom," was my answer, and it was counted wrong even though this would make sense in English. Obviously I don't speak my mom; it would be understood that my mom doesn't speak English.
По means "by" or "way" and in this sense could be understood "I speak the English way". It's also useful when you're not talking about a language, but rather a way to speak a language, such as "I speak the American way".