Tuesday, September 25, 2007

The Tower Of Babble Becomes Slightly Lower

In the recent past, bloggers have complained of an inability to access Blogger, because it was displaying in a "foreign" language, generally the native language for that locale. Even advice to adjust the Profile Languages setting in the Dashboard was useless, because they didn't know the "foreign" spelling for their language.

In one case, with a gentleman complaining from Thailand, I had no recourse but to suggest that he head to the nearest Thai Internet cafe, where he could hopefully find a friendly Thai native to show him the selection for "English", written in Thai.

Some time later, I observed that this advice was not quite so necessary. You can now just go to your dashboard, and change the language setting on your own, without knowing the "foreign" language in question.


I set my language to Thai, to see what would happen. This is what you'll see, when you're in Thailand, if you haven't set your language already. If you're not in Thailand, you'll see a different display - except for one key detail.

See the pull down list in the upper right? That's the language selector.




You open the pull down list, and note the third entry from the top, that shows "English" as the secondary label.

The list is sorted in sequence by primary language name, at the convenience of the locals. Depending upon what the local language is, you'll find the secondary language names in a difference sequence - but all that you have to do is to find "English" (not "English (UK)" though!), somewhere in the list.




You select "English" using the secondary label, and you're in business.



You may be able to avoid the dashboard, and use the Set Language wizard, directly.


As above, we see the same pull down language list, sorted the same, and again with the Secondary Language labels.



Again, Select "English" as a Secondary Language entry.



And, back to normal.



Which ever wizard you use, I will still advise all who stay in any locale where their native tongue is not predominant, to learn a minimum amount of the local language.

>> Top

8 comments:

bytehead said...

This still doesn't answer the question of why I have three or four different places that I need to keep telling Google to keep using English.

And why does my having a Swiss/Thai/French IP really have anything to do with what the language is. If my// any browser tells the server that I'm using US English (and it does), they why change my language choice purely by my IP?

This IMNSHO is extremely poorly thought out. The feature is entirely too clever.

Chuck said...

Bytehead,

You are English speaking. You would be expected to have a problem with this.

Your browser has a language setting, to control all web sites in general.

Your profile has a language setting, to control what language you want to view all web sites.

Your blog has a setting, to control its native language.

Those are 3 settings, for 3 purposes. None of them overlap. Google is trying to support the world. Better get used to the fact, English is not the main language in the globe.

The ISP provides some default settings, to maximise convenience for world citizens. If the region (per ISP location) is "foreign" to you, that will happen.

English speaking people, in "foreign" lands, have to get used to it. Learn the local language. And learn how to reset the settings. Before the settings were added, most everything was English. Now it's not.

daarkFire said...

The IP address is not an indicator of the user's language.

Chuck said...

Daark,

We know that the IP address is not an indicator of the user's language. But it's a semi accurate indicator of where the user is located.

And using some type of geographical language setting is righteous. If that were not the case, and knowing what we do of the world today, Blogger would be forced to publish in Spanish, and let everybody who speaks English override a default of Spanish.

Scott Severance said...

Chuck, you're ignoring something really important:

While of course providing services in multiple languages is a Good Thing, the method Google uses isn't.

There are several ways to decide which language to use by default (that is, unless the user explicitly requests another). One approach is to use the IP address. In some countries that works well, while in others, it doesn't work so well.

A better approach is to first examine the Accept-Language HTTP header, if it is set. If it has been modified by the user, it's probably correct. If it hasn't, then it's probably the same as the user's operating system language, which is probably acceptable. Only when the Accept-Language header is absent or obviously wrong should the IP address be used to determine the proper default language.

Chuck said...

Scott,

How is the HTTP Header Language setting made? How many blog owners and readers know how to make this work?

How do you know that the Accept-Language HTTP header is a better approach?

Have you tried using the modified URL, to bypass geolocation language setting?

http://blogging.nitecruzr.net/2010/11/you-may-not-have-to-speak-local.html

Scott Severance said...

Sure, I've modified the URL many times. The point is, I shouldn't have to.

Here's how the Accept-Language header works. A few users (probably a very small percentage) will configure their language preferences in their browser's settings. For those users, the browser will automatically send the Accept-Language header with the user-configured language(s).

The vast majority of users won't mess with their language settings; they'll simply accept the default. They can do so because in all probability their computer's interface will be in a language they find acceptable (because when they bought the computer, it was probably in a place where they speak the local language). If it isn't, they'll try to change that. Here's the key: The browser will default to the operating system's locale settings. So, if the user does nothing, they'll wind up in most cases with a language setting that they find acceptable.

Additionally, the Accept-Language header is sent automatically to all websites--without the user doing anything to configure it. That means that for those websites that use this header, users will always see content in an acceptable language without having to do any configuration (provided that the site is able to support their language). There's no manual configuration involved.

The approach taken by Google, Facebook, Yahoo, and a few others is just crazy by comparison. Why should I have to manually tell each individual site which language I want to use when there's an easy way for them to automatically detect my preferences?

It's true that the Accept-Language header isn't available in all cases. It's possible that some browser out there doesn't send it. It's also possible that some proxy servers will strip the header from the request. In those cases, using IP location is a reasonable approach. But those cases are the exception, rather than the rule.

Chuck said...

OK, Scott, whatever.

The relative validity of Accept-Language not withstanding, if I was to argue every bad decision that Blogger has made, I would have no time for anything else.

Right now, the modified URL is the best solution, because it's what works. Be thankful for that option.