"Tom is French, but he lives in Canada."
Translation:Том - француз, но он живёт в Канаде.
We can replace it by "а" but then we have to remove "он": "Том - француз, а живёт в Канаде. Странно!". It's when the clause means a contradiction.
If we're leaving "он" then this pronoun means that another person lives in Canada, not Tom: "Эндрю говорит, что Том - француз, а он живет в Канаде". Well, maybe not the best example, but it works like that. We can't have the same subjects in the clauses around "a" (unlike "и", "но").
"Француз" = "Frenchman", so no. To say "He is from France", you can say "он из Франции".
french = французкий, frenchmen = француз; shouldn't here фанцузкий be accepted, too?
No, unlike in English using an adjective withoun a noun when talking about one's nationality in Russian makes no sence. You can say "Том - французский инженер" ("Tom is a French engineer") for example, or "этот диван - французский" ("this couch is French"), but not "Том - французский" .
Thank you for the answer. I learned English many years ago, thus for me "Tom is French" sounds strange - I would say "Tom is a Frenchman"; probably therefore I chose the wrong Russian translation. Edit: It seems that grammar has not changed. I found this entry confirming that you really should say "Frenchman": https://books.google.de, it is book isbn 9783125197312 on page 229 - I cannot copy the whole link here