As a frequent traveller to lands foreign, where English is not the native language, it has always really annoyed me that the Google search bar in Firefox always uses the current locale, rather the system locale. For example, in Germany, the default behaviour of the search bar (assuming you have it set to Google) is to use Google DE, and offer the user interface in German and results in German. While I have a working knowledge of German, this isn’t hugely ideal and I would prefer both in English regardless of my current location.

As an aside, this behaviour appears a result of using IP address as an indicator of what language a user speaks, which I have written about before and which remains a completely absurd practice.

Anyway, I finally decided to fix this and if you use the right search terms there are a couple of pages which will point you at a solution (the one I used was I decided this was ideal blog fodder so here is my effort.

Update 26/01/2013 – It appears that the file format has changed in a recent version of Firefox, but the fix remains the same. I’ve updated the instructions below to be correct as of  Firefox 18.0.1 and have tested the new change. I also added the missing parameter in step 5.

1. Create a copy of the {Mozilla Firefox install dir}/searchplugins/google.xml file. The new copy must be in the same folder. I called mine googleuk.xml so I could keep the original file untouched.

2. Edit the new file using a decent text editor (I suggest Notepad++ which is free and awesome).

3. Change all occurrences of to

4. Change the template line from:

<Url type="application/x-suggestions+json" method="GET" 
to (note the new parameter):
<Url type="application/x-suggestions+json" method="GET" 

5. Add a new parameter line to the parameter list:

<Param name="hl" value="en"/>

6. Save the file.

7. Restart Firefox, and use the Manage Search Engine function to put your new Search plugin to the top of the list.

Job done, and a major annoyance resolved. You can use the same technique to get the results  in any language from any localised Google site using the right setting for the hl parameter. The page has far more detailed information on what you can do.

Finally, for reference, here is my customised file, you’ll have to remove the _.txt extension before use: