To provide the name in the two official languages of the country in a way that works well for street signs.
A label on a map is not a street sign. They exist in entirely different form factors and different use cases.
Street signs are not (currently, anyways) dynamic: you make them once and put them up on a physical object (pole, wall, …). They have limited space and need to be immediately and comfortably readable by humans. They aren’t vocalized by a machine. They aren’t included in routing instructions. They can, and do (e.g. in this case), mix fonts and sizes as the layout and exact (“pixel perfect”) presentation is predefined on manufacture.
None of that is true about a GIS database.
I’m all for having the languages represented and included in the database. But adopting the approach used on the entirely different form factor of a street sign in a database designed primarily for machines to utilize is mistaking the medium (physical street signs) for the message (the content).
For a computer rendering, routing, and vocalizing things having the names in a single language that tracks with how people actually use these names, having these separated into completely language-specific entries is a far more appropriate approach.
(On the claim about “how people actually use these names”, ask yourself: does anyone called it Rue York Street when talking to another person? Or do they use either Rue York or York Street?)
As a side note, while I am from Canada and spent most of my life there, I currently live in an intensely multilingual country (4 official languages, plus English as a de facto lingua franca) and have daily contact with these kinds of issues.
There are cities here where streets have names in two different languages and they separate them on the map with a ‘/’, but the names of the streets are actually translations (“Chemin du Chasseur” vs “Jägerweg”) and both are used in dailiy life (it’s common to hear conversations being had in both languages at the same time, with one participant speaking French while the other speaks German). In that use case, having both in the name:
field makes sense as there actually are multiple names for single streets in daily use.
But then go to cities which are also officially bilingual (e.g. in kantons Fribourg, Bern, Valais) which do not have these features and the street names are in a single language on OSM, again reflecting common usage.
But hey, I don’t live in Winnipeg. Maybe most of the people there do use both language forms for streets on the regular. Maybe they really do say things like “I live on Avenue Niverville Avenue.” If so, then what’s there is probably fine, if awkward for the machines intended to use this as a database. Is that the case, @hoserab?
As for the Canada post database: if you enter “267 Avenue Niverville Avenue” you will get one language form back, not “267 Avenue Niverville Avenue”, and it follows the localization the website is in when it picks between the two (I was using French, fwiw, so got the French version). “267 Niverville Avenue” returns the English version, and “267 Avenue Niverville” returns the French version regardless of browser localization settings. So what one uses in postal adddress, @hoserab , is NOT what is currently on the map, at least not according to Canada Post, but the localized version appropriate to the language being used.
edit: As a final note, the city of Winnipeg’s official street number database lists that same address as “267 Niverville Avenue”. You can do a query in their Socrata database to confirm that if you wish.