Closed Bug 534947 Opened 15 years ago Closed 14 years ago

Use geolocation for some countries instead of accept-lang header to determine needed site language

Categories

(Websites Graveyard :: mozilla-europe.org, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: tim.babych, Assigned: pascalc)

References

Details

(Whiteboard: needs feasibility/detail from IT)

Attachments

(1 file)

85% of Ukrainian users use Windows XP, which was not available in Ukrainian. Therefore when they visit mozilla-europe.org or mozilla.com they are served Russian or English version of site.

Please make those two sites display Ukrainian version when the visitor comes from Ukraine.
Summary: [uk] give visitors from Ukraine Ukrainian version → [uk] serve Ukrainian version to visitors from Ukraine
Having thought more on the issue I realized that it is not only my itch, but it has much broader scope. And while I understand the complexities that might arise in the process of implementing it, the impact on user experience will overpay those.

You see, the problem I am facing is present for almost 50 locales that were not given their Windows XP release, and thus are mostly using versions that fit, but are far from perfect.

The list of Windows XP releases is here, http://technet.microsoft.com/en-us/library/bb457045.aspx#ECAA - it has 24 items. The rest of current Firefox 69 locales are not exposed to general public in the extent they deserve, because ordinary users just live with default values in their OSes, and that means they have sub-optimal "preferred languages" setting in theirs Internet Explorers. So when they navigate to mozilla.com or mozilla-europe.org they just click big green button, without bothering with "alternatives" that are presented in small font below.

The accept-lang header is not a good measure of user's preferences in countries and regions that hasn't got their Windows XP back in 2001. Fortunately, Microsoft has better l10n position now, but XP still accounts for 70% of users all over the world.

That issue is present for the languages that were too small to be considered a market by Microsoft, but also to the big languages, that were just living in a shadow of even bigger ones.

Dear L10N community, please submit your feelings on the issue. Dear webdev team, I very much value your work and I am sorry to add more wood into the fire of upcoming release, but I think this matter is important enough.
Summary: [uk] serve Ukrainian version to visitors from Ukraine → Use geolocation for some countries instead of accept-lang header to determine needed site language
Latin America is an example of this issue.
Most Windows users download es-ES version, even when there's a local one because of this.
With es-ES, es-AR, es-CL and es-MX versions released this must be fixed.
Something like this would be nice for ga-IE when visitors come from .ie addresses.   Irish and English are both official languages in Ireland and 40% of people can speak Irish - could we offer both on the download page?
There is a problem with this approach, it can create problems for tourists. They will get the websites in Ukrainian instead of their native language, which can make it hard to navigate to the correct language page. Although I have one of the affected locales (Icelandic) I am not sure this is the best solution.
Similar issue is present for Bengali-Bangladesh (bn-BD) which is not available in Windows XP. We try our best to inform people about bn-BD localized release of Mozilla products. But it will be better if bn-BD version can be offered automatically to the visitors from Bangladesh. Sure they can select English version from other languages, if they want.
Jamil, Marcelo, this is a bug about the *European* site where your locales are not covered. 

Marcelo, the first good step on serving the right es-* version would be to create a disambiguation page proposing the 4 versions for when we are unsured of the version we want to propose instead of defaulting to es-ES, I even told during MozCamp chile that I would need help from the community about that because this has to be done in consensus between locale leaders, I suggest that you talk about that in the 'comunidad' mailing list.

In addition to what Kristján said about travellers and the fact that we don't know how to implement any form of geoIP currently, geolocalization is a bag of tricks for multilingual countries and people living on borders that is a very big chunk of European citizens, so any solution based on geoIP should only be applied on a per locale basis, I would definitely be against geoIP on mozilla-europe for Belgium, Switzerland or Spain for example.

BTW, Tim, there were 56,000 page views of the Ukrainian pages on the site last month, so people do see your pages! :) 

Kevin's solution could probably be implemented for Ukrainian for people going to mozilla-europe.org/ root page (at least I know it is doable without breaking the site or hurting other locales).
Same issue for Arabic. People in many Arabic countries get an English version of Windows on their PCs, which implies that they will directed to the en-US pages if they try to access any of mozilla webpages without explicitly adding the locale code in the URL. 

I think it will be better if mozilla websites use a Google-like strategy by auto-redirecting users to their corresponding localized pages based on IP recognition.
If one day there is a zh-HK version of Firefox (in contrast to zh-TW) then we would also need this.
This affects Latvian as well. Many users in Latvia use English XP or other MS operating systems as their latvian version of XP/Vista was/is badly done. 

Latvian Firefox users would greatly benifit from getting Firefox in Latvian even if they use Windows in english.
I think we should not focus on "me too" comments here. I don't think that there's really anybody that is really tied to how we present languages these days. In fact, we tried alternatives a while back, and all sucked even worse (for all.html, that is).

I wonder if we can use geolocation for something more creative than just switching to one other language, like a blob that offers "languages close to you". How to do that as performant as it is required by a site as popular as mozilla.com or mozilla-europe.org is probably a nice challenge for IT and webdev.
@Anas, can you tell by IP if somebody in Brussels should receive a Dutch or a French Firefox? Or if somebody in Val d'Aran should get a Spanish, Catalan, Occitan or Basque download?

@Raivus, there is no Latvian version of mozilla-europe.org, I would start with that instead of locale detection and geolocation :)

Guys, that's just a reminder that this bug is filed in a component of one specific site in bugzilla. Europe is a mostly multilingual (200 languages actively spoken) continent with a very dense population and lots of small countries bordering each other where GeoIP is not that reliable. Having the Google start page in a foreign language because of their use of geoIP has probably been one of the most reported complaints by end users since 2003 and we have bugs still open in Bugzilla about that.

Europe is also where most of the localized builds are used, where we have the biggest market share and user base and the vast majority of our European users do NOT use an en-US/GB version but localized ones. Just to put things in perspective, we are not doing that bad ;).

That's not to say that we are never going to use GeoIP, for some regions and specific countries it may indeed make sense, but we also have to be smart and not break websites that generate up to 2 million downloads of Firefox per day.

We also have to work with the constraints (technical, time, people, skills, geography...) we have and see what is achievable in the short/middle/long term with which techniques. Using geoIP means a totally different architecture for the site, our European datacenter is a big caching mechanism generating pages for the 20 to 30 million visitors per month we have on mozilla-europe.org, using a more dynamic solution with a database query for geoIP would probably mean not using the European datacenter but serve pages directly from San Jose in the US, very bad for performance.
Considering past experience with localizations in my language, presenting a web page with a Romanian default and a small link to other versions where you have to search for the one you want would be as frustrating as the other way around.

But usually people who want the Romanian version and don't speak English can't make their way around to get the Romanian version. In the Windows XP era, people had Windows installed by a guy who kept on pressing Next during the installation without stopping to choose Romanian. So there's a user base that is forced to download the English version. Because if you don't speak English you just click around in your Windows copy until something turns right and hate the computer because it doesn't speak your language.

So I wouldn't just add geolocation on top of the current language detection, but use geolocation to provide a choice, something like in the attached screenshot.
(In reply to comment #11)
> @Anas, can you tell by IP if somebody in Brussels should receive a Dutch or a
> French Firefox? 

Honestly, he should see both download links (and English as a third option).

The problem with the start page is not that it is (most of the time) in the wrong language. That's easily forgivable and every visitor from this region can sympathetize with that, because everyone knows how things are here. The real problem is that there is no option to *choose* another language. What's most infuriating is that the Google homepage, on which it is modeled, offers this choice but not the Firefox start page.

So, yes, we should definately use geolocation in Brussels. Not to know which language to offer, but to know that we can be wrong about it. Make a best guess using accept-language and all, but ultimately let the user choose between selected close locales. I like Axel's and Alexandru's suggestions.
Hi,

I'm from Vietnamese localization team. And I absolutely agree to this. The default option of location is USA, not Vietnam.

Maybe Google used this way to recognize location of users.

This way is depend on ISPs. And all ISPs in Vietnam always set location is Vietnam (differ from Windows).

Best regard,
KimKha
(In reply to comment #11)
> @Anas, can you tell by IP if somebody in Brussels should receive a Dutch or a
> French Firefox? Or if somebody in Val d'Aran should get a Spanish, Catalan,
> Occitan or Basque download?
> 
I'm just curious: How does Google handle this issue? How does Google redirect users from these regions? And couldn't we simply do the Google method?

I think one of the big reasons is that: We localizers are just volunteers, and Mozilla doesn't pay us to do localizations. So, if we stop contributing, in contrast to Google, Mozilla can't require us to continue the work and/or may not quickly get help from new volunteers. And that would be a big problem if Mozilla were using geoIP to detect users and an in-product page was needing updating or, even worse, a new version was going to be released soon... but you were not there!

So, if that and the IT & webdev constraints are main reasons, I won't try to say any more.

Well, as I once mentioned about the GeoIP issue in a bug for Vietnamese (bug 463444 comment 20), I was not intending to comment in this bug, and I'm not going to file a bug in Mozilla.com component. But during his trip to Vietnam recently, Gen was surprised that users in Vietnam were not being redirected to the Vietnamese page, and told me that he would talk about it to l10n-drivers in his return. So I'll CC him and let him decide if we should file a new bug.

PS: And hey, I think Alexandru's suggestion is great!
When  I travel to various European countries, my Google start page often changes of language, just to debunk the myth that Google is doing it always right when picking the language. And that's certainly not the behaviour I want for Mozilla Europe, I want people to visit the pages in their language of *choice*, not a guesstimate of the language of the geography we suppose is associated to a certain language.
Don't know if you have noticed about this, but I'll try giving out some more info. I'm on Windows XP ENU Edition:
- when I use an English (US) version of any browser and go to google.com, Google will redirect me to google.com.vn in Vietnamese language.
- when I use a Vietnamese version of any browser (well, only Firefox, Chrome and IE8) and go to google.com, Google will redirect me to google.com.vn in Vietnamese language.
- but when I use a localized version, such as French, and go to google.com, Google will redirect me to google.com.vn in *French language* -> Is this considered as an awareness of users' language choice (excluding English)?
(In reply to comment #16)
> And that's certainly not the behaviour I want
> for Mozilla Europe, I want people to visit the pages in their language of
> *choice*, not a guesstimate of the language of the geography we suppose is
> associated to a certain language.

I agree about the content, i.e. let's not guesstimate - and also remember the users preference.

But lets focus on the downloads offered, which I think is more important

(In reply to comment #10)
> I wonder if we can use geolocation for something more creative than just
> switching to one other language, like a blob that offers "languages close to
> you". How to do that as performant as it is required by a site as popular as
> mozilla.com or mozilla-europe.org is probably a nice challenge for IT and
> webdev.

This is a great idea and I don't even think it's that hard to implement
(In reply to comment #15)
> But during his trip to Vietnam
> recently, Gen was surprised that users in Vietnam were not being redirected to
> the Vietnamese page, and told me that he would talk about it to l10n-drivers in
> his return. So I'll CC him and let him decide if we should file a new bug.

Hi Hung, thank you for the comment.

So I did speak with many people in my few days in Vietnam.  I did have a few comments from people who said that they got English pages from Mozilla.com from Vietnam, but the vast majority of people I spoke to, from government offices, to businesses, etc. said that when they went to Mozilla.com they received the Vietnamese pages (and download.)

I do think that whatever we have now is not perfect and we need to keep optimizing it for each country's specific situation.
From my personal point of view, despite Catalan-speaking users are also affected by deplorable Microsoft's language pack design, I would not change default accept-lang behaviour for the displayed page text —since I believe we are following a good practice and we should not sacrifice user's choice when it may sometimes exist—, but I would opt for a solution similar to the ones suggested by Axel or Alexandru. 
It's a bit of a problem, taking as a model Alexandru's layout, when we might have many buttons in one country, which is actually the most normal situation most of the times. In that case, we could just add links with some tiny download icons under the main button, we may play with hovering effects, or simply add a language list block as I think it was implemented in Launchpad. No doubt, it's a challenge for the web designers, but of course, this can be done.

If we took as main criterion Wikipedia categories, for instance: http://en.wikipedia.org/wiki/Category:Languages_of_France, my ca locale could appear as option in 4 countries (Spain, Andorra, France and Italy) considering that GeoIP would be effectively working only at the country level. For Belgium, according to: http://en.wikipedia.org/wiki/Category:Languages_of_Belgium, we would list French, Dutch and German as options. In the worst-case scenario, if GeoIP didn't work correctly in some regions, I do not envisage there could be any important disruptive effect.
Since Pascal seems to be a bit concerned about the load repercussions in Mozilla Europe servers, we could start trying it in mozilla.com main page (http://www.mozilla.com). In mozilla.com there is already a link to mozilla.com version in English, but not a combo box of different available page languages as in Mozilla Europe.

My two cents.
TBH, we heard enough opinions, about various things.

We should give IT a few cycles to digest the comments and come back with what's feasible.

CCing Ken, too, as he's measuring all things websites. (Sorry Ken, gotta read most of this bug to catch up)
Whiteboard: needs feasibility/detail from IT
> We should give IT a few cycles to digest the comments and come back with what's
> feasible.

I think this is less IT than it is webdev - local direction is part of the website.  The best IT could do would be something like what we did for store.mozilla.org (http://blog.mozilla.com/mrz/2009/10/22/geolocation-zeus-zxtm-6-0/) but that assumes whatever geo-ip database Zeus has is accurate.

Perhaps a method that uses both and presents best guess options?
Sorry for adding to the pile of comments here, but just to make sure this is time worthy, maybe the Mozilla metrics team could come up with some numbers on how many users with en-US locale have a different language for content set up in preference. In my country, from my experience, I know that people do not set that preference because it's not that clear to set (you open a new dialog, you have to compile why there are ro and ro-ro variants, do the ordering yourself, etc.). The localized version has that set already, and sorting out at least the download of the right version could help.
Any work on this? Any way to help?

As example of our locale situation, I show you a piece of news of El Periódico, a bilingual edition (Catalan and Spanish) newspaper in Catalonia (the first or second most bought/read).
Despite we could opine about how well/bad is the piece of news or the newspaper criteria, the fact is that they might seem to conclude that Catalan version is not available in Mozilla Europe, when that's not true…

Catalan: http://www.elperiodico.cat/default.asp?idpublicacio_PK=46&idioma=CAT&idnoticia_PK=680543&idseccio_PK=1012
Spanish: http://www.elperiodico.com/default.asp?idpublicacio_PK=46&idioma=CAS&idnoticia_PK=680543&idseccio_PK=1012
Toni, that's a pretty bad example case since if they had not put intentionally a direct link to the Spanish page, the visitor would be directed to the catalan page even if he were using an es-ES version since he clicks from a .cat 
domain... In this specific case, your organization Softcatala happens to be competing in notoriety with mozilla europe (which is not bad at all btw). To answer your question, I have plans to add some level of geolocation on mozilla europe yes, but I haven't had time to work on it yet, I only added the refferring domain into the equation on top of accept lang headers for now which is a first step and mostly benefits uk/ro/sr/ca on the site. Patches welcome.
Thanks Pascal for answering so quickly, I didn't know this feature from .cat domains. I guess these journalists, rather clumsily if you want, simply copy-pasted what they get from the location bar.
Take your time after all this version release frenzy, and let's keep in track on this so we can help you.
I have implemented a country-level geoIP solution today on the site that seems to work well for now and is not too ressource hungry (well, for now ;) ). The affected countries are mostly in eastern/central Europe (Bulgaria, Czech republic, Denmark, Greece, Hungary, Lithuania, Poland, Romania, Slovakia, Albania, Serbia, Ukraine). I will study the evolution of visits on the respective home pages for these countries in Q1/Q2. 

Doing that at the region/city level is on my TODO list but is actually out of the scope of this bug (it is significantly more complex to do).

I will keep on working on geoIP and other creative solutions for better locale detection in 2010 of course. For the non-European people that commented in this bug, I will also work on making this code reusable on other mozilla sites (or if not the code, at least the logic) but probably not in Q1, doing it globally is a much bigger project and I need to collect data on a per country basis for that.

I am marking this bug fixed.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
(In reply to comment #27)

Hi Pascal. I guess European companions from these countries can tell us soon or later, but as advance, how is this geoIP solution expressed in terms of what the user views in the page (which downloads, additional links, and so on...) ?
Hi Toni, geoIP is used at the locale detection level (in addition to accept-lang analysis and domain referrers) to decide which language is shown. This is not a change in content of pages, that would be out of the scope for this bug.
Hi Pascal, great work so far.
Still I think on the localized pages we should add a simple line below the downloadbutton for "Other systems and languages" to all.html, or a drop-down button to the right with all other languages.
Depends on: 544459
Product: Websites → Websites Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: