A problem with the Web in Canada is that most corporate and government sites force you to pick a language. Why is that a problem? Because you've already picked a language. If you're in Canada, odds are statistically likely that when you installed your operating system - be it MS-Windows, Mac OS, Solaris, Linux, OpenBSD or whatever - you selected English or French as your language choice. And these "choose a language" sites don't respect that choice.
You see, every time you click on a link or type in the name of a site and hit Enter, your browser sends a whole boatload of information, including the ISO language code for your chosen language (or languages) to the web server.
My browser sends something like this:
GET / HTTP/1.1This is a standard "HTTP GET" request: the first line begins with GET, POST or another verb, then there are an arbitrary number of header lines.
User-Agent: Mozilla/5.0 (X11; U; OpenBSD amd64; en-US; rv:18.104.22.168) Gecko/2008072820 Firefox/3.0.1
In this example, line 5 lists the acceptable languages I have specified: English, Spanish, French and German. In a form that is well documented as part of the specification for the HTTP protocol.
So what are the sites that ignore your choice afraid of? The possibility that a Quebecois might actually see a few words of English at a web kiosk, and be insulted? Or, the much-worse possibility that an Anglophone might see a few words of French at a web kiosk, and not understand that it's a web kiosk because it's not in English? :-)
This tradition also doesn't respect the languages of the two hundred odd other ethnicities that our curiously- multicultural society has spawned. Nor does it respect the linguistic traditions of the Native Peoples who were here for thousands of years before the web arrived...
So what to do? Tear down all the officious two-language-only home pages on government and corporation sites around the country. Let the site start in whatever language they please, unless the web standard HTTP header for language choice is present, in which case, use that language if you understand it, only falling back to one of the two "official" languages if none of the requested languages is understood.