When using bangs I often find myself accidentally being redirected to the US site. This is because the shortest/default bang always uses the US version of the website.
For most websites this isn't a problem however for anything to do with shopping it can be quite annoying. e.g. !az redirects to Amazon US which then will try to ship US products all the way to e.g. Spain and incur massive fees. In fact, I once nearly accidentally bought from the US version of Amazon.
My suggestion is for users to be able to set the default region their bangs should use for non-region specific bangs. e.g. Setting the region to Spain would mean !amazon redirects to the Spanish version but !amazonfr would still redirect to the French or !aus to the US one. This way I can still use the shortest possible bang without needing to always specify my region with every bang.
I would implement this by adding a dropdown in the bang settings that allows a user to select their bang region. By default this would be set to the US to ensure bangs don't change for existing users. New users can have the default be set to their local region on sign-up.
The bang definition format would be updated to support regional bangs. It could be something like this:
{
"s": "Amazon (Generic)",
// r for Regions - When specifying a list of regions you don't need a URL search template.
"r": {
// Points to the region specific triggers. If your region isn't listed it defaults to US.
"us": "aus",
"fr": "afr",
},
"t": "a",
"ts": ["amazon", "amz", "az", "buy", "price"],
},
{
"s": "Amazon.com",
"d": "www.amazon.com",
"t": "a",
"ts": [ "amus", "aus"],
"u": "https://www.amazon.com/s?k={{{s}}}",
},
{
"s": "Amazon.fr",
"d": "www.amazon.fr",
"t": "afr",
"ts": ["amazonfr", "amfr", "azf"],
"u": "https://www.amazon.fr/s?k={{{s}}}",
},