IP delivery won’t work here as people located on the same territory may speak different languages and interested in the corresponding language versions.
A thread over at Google Groups discusses just the case of targeting both French- and English-speaking citizens of Canada. Two possible Google-friendly solutions would be:
- 301-redirect to either /en/ or /fr/ subdirectory depending on the language of the browser used (the thread discusses a WordPress script that can do this type of redirection). While I am not sure how Google treats this browser-dependent redirection, the solution was confirmed by a Googler;
- Add a generic root page in both the languages and let users choose for themselves. Make sure to add some content to this page and make the links to both language versions accessible by crawlers. It is also possible to add Noindex meta tag to prevent Google from ranking the page but to still allow it to follow the page links.
In both cases it would be wise to include crawlable HTML links to the alternative version to make sure both visitors and human being will find their way.
Another possible (but not in all cases) solution is to use IP delivery depending on the official/ dominant language of the province – e.g. return French version for Quebec – with the option to switch the language to English.