My friend is going on a holiday this weekend. Can i say "bon voyage"? Or is it "bonnes vacances"? And what's the difference between these 2 phrases? Merci.
The use of "bon voyage" depends on how the journey has been defined. You can possibly understand by "voyage" the action of simply going from one place to another or the action of going from place to place in a leisurely manner, spending your time in short visits and activities, before returning to your home. If such a trip, even though short, has been meant to fill the time of a given holiday, you can as well say "bonnes vacances", but only in this case. When people travel during their free time, if this free time is not part of a holiday period (retired people for instance) you shouldn't use "bonnes vacances".
Since a weekend is not considered as a holiday, and since a holiday period is usually longer, "bonnes vacances" will not do, unless your friend, usually busy during the weekend (for instance working on his/her house decoration), has decided to take some rest from his/her task and has told you that he/she was going to take a two day holiday.
Whether the time spent away is understood as a holiday or not, you might say "bon voyage" but it might not be the best you can do.
If it is a short trip (as here, a weekend), there are still two possibilities: either he/she is going to visit several places or instead he/she is going to make a sojourn in a unique place. In the first instance "bon voyage" will let people think that you are talking about the whole weekend. In the second this might be ambiguous as they won't know for certain whether you mean the time during the travelling to the given place or the time of the whole weekend. It could be thought better in that case to avoid "bon voyage" and say instead something as "Passe/Passez un bon séjour" or "Bon séjour" or if the trip is for example to Barcelona, "Bon séjour à Barcelone !".
Nevertheless, if you are taking leave of your friends at the airport or at the train station as they are on their way to the place where they are going to spend their holiday, "bon voyage" will not be ambiguous and will refer specifically to the time of travel to the place of their holiday. You can even say then "Bon voyage! Bonnes vacances!".