Страны и языки в Google: параметры gl и hl
· google · регионы
Регион и язык выдачи Google задаются двумя параметрами: gl - страна,
hl - язык интерфейса. Город к ним добавляется третьим - uule или числовым
ID региона. Ниже - что делает каждый, кто побеждает при
споре и полные списки значений: 252 стран и 155 языков.
Страна задаёт выдачу
gl - двухбуквенный код страны: ru, by, de,
us. Это главный рычаг: он решает, из какой страны Google берёт выдачу. По запросу
«новости» с gl=ru, gl=by и gl=kz получаются три выдачи без
единого общего адреса: ria.ru и lenta.ru, belta.by и
onliner.by, tengrinews.kz и ktk.kz.
Выбор домена на это не влияет: google.de и google.com.br давно отдают то же,
что google.com, - подробнее в статье
про домены Google по странам.
Страну задаёт gl, а не адрес в строке браузера.
Что с чем сочетается
Когда параметры тянут в разные стороны, выигрывает не тот, что стоит раньше в запросе. Проверено так же, как для Bing: каждому параметру давалось своё значение, и по выдаче видно, чью сторону взял Google. Каждый случай прогонялся дважды, сравнивались наборы адресов целиком.
| Спор | Кто побеждает | Что видно в выдаче |
|---|---|---|
город из uule против gl другой страны |
gl |
Москва в uule с gl=by по запросу «пицца доставка» даёт
pzz.by и dodopizza.by, с gl=ru -
dodopizza.ru и papajohns.ru: ни одного общего адреса |
| город внутри страны | uule |
при gl=by Москва и Минск в uule дают выдачи, совпадающие на 0.82:
страна общая, городские адреса свои |
gl без города |
место запроса | «пицца доставка» с gl=de без uule даёт смесь из немецких
пиццерий и российских сайтов: город Google берёт из адреса, с которого пришёл запрос |
hl против gl |
каждый своё | gl=de&hl=en по запросу «hotel berlin» - та же немецкая выдача, что с
hl=de, только интерфейс английский |
Вывод из первых трёх строк: страну задавайте через gl, а город - через
uule или ID региона, и следите, чтобы они не спорили. Проще всего передавать только
region: API сам соберёт из него и город, и gl той же страны. Как Google
привязывает выдачу к городу, разобрано в статье
про UULE.
Язык интерфейса - не только надписи
hl прежде всего переводит интерфейс: «Все», «Картинки», «Новости» становятся «All»,
«Images», «News» или «Alle», «Bilder». Но на выдачу он тоже влияет - слабее, чем страна, и не на
всех запросах.
- На запросе, привязанном к месту, язык почти ничего не меняет: «hotel berlin» с
gl=deдаёт одну и ту же выдачу приhl=deиhl=en. - На запросе, который можно понять на любом языке, Google подмешивает документы на языке
интерфейса: «covid» с
gl=frиhl=enсовпадает с французской выдачей (hl=fr) только на 0.54 - вместо части французских изданий приходят англоязычные.
Поэтому hl лучше ставить на языке, на котором ищут ваши пользователи, а не на том, на
котором удобнее читать интерфейс.
Формы записи
Язык можно передать голым кодом (en) или локалью в том виде, в каком её пишет браузер
(en-GB, en-US): вторая часть - страна из списка ниже. На выдачу страна в
локали не влияет - hl=en-GB и hl=en при gl=gb дают одно и то
же, страну по-прежнему решает gl.
Несколько вариантов - отдельные языки Google, а не язык со страной: pt-br и
pt-pt, zh-cn, zh-tw и zh-hk,
es-419. Голый pt Google понимает как бразильский португальский. Иврит у
Google исторически iw, но he тоже принимается.
Незнакомый язык и язык по умолчанию
На незнакомый код Google не отвечает ошибкой: hl=zz молча превращается в английский.
Со стороны это выглядит как работающий запрос. Наш API такой код не пропускает - отвечает ошибкой
422 до обращения к поисковику, так что опечатка не станет английской выдачей.
Если hl не передан, интерфейс будет русским при gl=ru (и когда страна тоже
не указана) и английским для остальных стран.
Страны: 252 кодов
gl - код страны по ISO 3166-1 alpha-2 в нижнем регистре. Для Великобритании подходят
оба кода: и стандартный gb, и привычный Google uk - выдача у них одна.
Код (gl) |
Страна | Код (gl) |
Страна |
|---|---|---|---|
ad |
Андорра | la |
Лаосская Народно-Демократическая Республика |
ae |
Объединенные Арабские Эмираты | lb |
Ливан |
af |
Афганистан | lc |
Сент-Люсия |
ag |
Антигуа и Барбуда | li |
Лихтенштейн |
ai |
Ангилья | lk |
Шри-Ланка |
al |
Албания | lr |
Либерия |
am |
Армения | ls |
Лесото |
an |
Нидерландские Антильские острова | lt |
Литва |
ao |
Ангола | lu |
Люксембург |
aq |
Антарктида | lv |
Латвия |
ar |
Аргентина | ly |
Ливийская Арабская Джамахирия |
as |
Американское Самоа | ma |
Марокко |
at |
Австрия | mc |
Монако |
au |
Австралия | md |
Молдова, Республика |
aw |
Аруба | me |
Черногория |
az |
Азербайджан | mf |
Сен-Мартен |
ba |
Босния и Герцеговина | mg |
Мадагаскар |
bb |
Барбадос | mh |
Маршалловы острова |
bd |
Бангладеш | mk |
Македония, бывшая Югославская Республика |
be |
Бельгия | ml |
Мали |
bf |
Буркина-Фасо | mm |
Мьянма |
bg |
Болгария | mn |
Монголия |
bh |
Бахрейн | mo |
Макао |
bi |
Бурунди | mp |
Северные Марианские острова |
bj |
Бенин | mq |
Мартиника |
bl |
Сен-Бартелеми | mr |
Мавритания |
bm |
Бермуды | ms |
Монтсеррат |
bn |
Бруней-Даруссалам | mt |
Мальта |
bo |
Боливия | mu |
Маврикий |
bq |
Бонэйр, Синт-Эстатиус и Саба | mv |
Мальдивы |
br |
Бразилия | mw |
Малави |
bs |
Багамы | mx |
Мексика |
bt |
Бутан | my |
Малайзия |
bv |
Остров Буве | mz |
Мозамбик |
bw |
Ботсвана | na |
Намибия |
by |
Беларусь | nc |
Новая Каледония |
bz |
Белиз | ne |
Нигер |
ca |
Канада | nf |
Остров Норфолк |
cc |
Кокосовые острова (Килинг) | ng |
Нигерия |
cd |
Конго, Демократическая Республика | ni |
Никарагуа |
cf |
Центральноафриканская Республика | nl |
Нидерланды |
cg |
Конго | no |
Норвегия |
ch |
Швейцария | np |
Непал |
ci |
Берег Слоновой Кости | nr |
Науру |
ck |
Острова Кука | nu |
Ниуэ |
cl |
Чили | nz |
Новая Зеландия |
cm |
Камерун | om |
Оман |
cn |
Китай | pa |
Панама |
co |
Колумбия | pe |
Перу |
cr |
Коста-Рика | pf |
Французская Полинезия |
cs |
Сербия и Черногория (старый код) | pg |
Папуа-Новая Гвинея |
cu |
Куба | ph |
Филиппины |
cv |
Кабо-Верде | pk |
Пакистан |
cw |
Кюрасао | pl |
Польша |
cx |
Остров Рождества | pm |
Сен-Пьер и Микелон |
cy |
Кипр | pn |
Питкэрн |
cz |
Чешская Республика | pr |
Пуэрто-Рико |
de |
Германия | ps |
Палестинская территория, оккупированная |
dj |
Джибути | pt |
Португалия |
dk |
Дания | pw |
Палау |
dm |
Доминика | py |
Парагвай |
do |
Доминиканская Республика | qa |
Катар |
dz |
Алжир | re |
Воссоединение (Reunion) |
ec |
Эквадор | ro |
Румыния |
ee |
Эстония | rs |
Сербия |
eg |
Египет | ru |
Россия |
eh |
Западная Сахара | rw |
Руанда |
er |
Эритрея | sa |
Саудовская Аравия |
es |
Испания | sb |
Соломоновы острова |
et |
Эфиопия | sc |
Сейшельские острова |
fi |
Финляндия | sd |
Судан |
fj |
Фиджи | se |
Швеция |
fk |
Фолклендские острова (Мальвинские острова) | sg |
Сингапур |
fm |
Микронезия, Федеративные Штаты | sh |
Остров Святой Елены |
fo |
Фарерские острова | si |
Словения |
fr |
Франция | sj |
Шпицберген и Ян-Майен |
ga |
Габон | sk |
Словакия |
gb |
Великобритания (ISO) | sl |
Сьерра-Леоне |
gd |
Гренада | sm |
Сан-Марино |
ge |
Грузия | sn |
Сенегал |
gf |
Французская Гвиана | so |
Сомали |
gg |
Гернси | sr |
Суринам |
gh |
Гана | ss |
Южный Судан |
gi |
Гибралтар | st |
Сан-Томе и Принсипи |
gl |
Гренландия | sv |
Сальвадор |
gm |
Гамбия | sx |
Синт-Мартен |
gn |
Гвинея | sy |
Сирийская Арабская Республика |
gp |
Гваделупа | sz |
Свазиленд |
gq |
Экваториальная Гвинея | tc |
Острова Тёркс и Кайкос |
gr |
Греция | td |
Чад |
gs |
Южная Георгия и Южные Сандвичевы острова | tf |
Южные территории Франции |
gt |
Гватемала | tg |
Того |
gu |
Гуам | th |
Таиланд |
gw |
Гвинея-Бисау | tj |
Таджикистан |
gy |
Гайана | tk |
Токелау |
hk |
Гонконг | tl |
Тимор-Лешти |
hm |
Остров Херд и острова Макдональд | tm |
Туркменистан |
hn |
Гондурас | tn |
Тунис |
hr |
Хорватия | to |
Тонга |
ht |
Гаити | tr |
Турция |
hu |
Венгрия | tt |
Тринидад и Тобаго |
id |
Индонезия | tv |
Тувалу |
ie |
Ирландия | tw |
Тайвань, провинция Китая |
il |
Израиль | tz |
Танзания, Объединенная Республика |
im |
Остров Мэн | ua |
Украина |
in |
Индия | ug |
Уганда |
io |
Британская территория в Индийском океане | uk |
Великобритания |
iq |
Ирак | um |
Малые отдаленные острова США |
ir |
Иран, Исламская Республика | us |
Соединенные Штаты |
is |
Исландия | uy |
Уругвай |
it |
Италия | uz |
Узбекистан |
je |
Джерси | va |
Святой Престол (Ватикан) |
jm |
Ямайка | vc |
Сент-Винсент и Гренадины |
jo |
Иордания | ve |
Венесуэла |
jp |
Япония | vg |
Виргинские острова, Британская |
ke |
Кения | vi |
Виргинские острова, США |
kg |
Кыргызстан | vn |
Вьетнам |
kh |
Камбоджа | vu |
Вануату |
ki |
Кирибати | wf |
Уоллис и Футуна |
km |
Коморские Острова | ws |
Самоа |
kn |
Сент-Китс и Невис | xk |
Косово |
kp |
Корея, Народно-Демократическая Республика | ye |
Йемен |
kr |
Корея, Республика | yt |
Майотта |
kw |
Кувейт | za |
Южная Африка |
ky |
Каймановы острова | zm |
Замбия |
kz |
Казахстан | zw |
Зимбабве |
Языки интерфейса: 155
Список собран из меню языков в настройках Google и из таблицы языков интерфейса в его документации. Меню у Google зависит от того, откуда его открывают, поэтому в таблице языков больше, чем вы увидите в своих настройках. Редкие из них Google может не поддерживать в интерфейсе - тогда страница будет на английском, а выдача останется той же.
Код (hl) |
Язык | Код (hl) |
Язык |
|---|---|---|---|
ach |
Ачоли | mfe |
Маврикийский креольский |
af |
Африкаанс | mg |
Малагасийский |
ak |
Акан | mi |
Маори |
am |
Амхарский | mk |
Македонский |
ar |
Арабский | ml |
Малаялам |
az |
Азербайджанский | mn |
Монгольский |
ban |
Балийский | mo |
Молдавский |
be |
Белорусский | mr |
Маратхи |
bem |
Бемба | ms |
Малайский |
bg |
Болгарский | mt |
Мальтийский |
bh |
Бихари | mv |
Мальдивский (дивехи) |
bn |
Бенгальский | my |
Бирманский |
br |
Бретонский | ne |
Непальский |
bs |
Боснийский | nl |
Нидерландский |
ca |
Каталанский | nn |
Норвежский (нюнорск) |
ceb |
Себуано | no |
Норвежский |
chr |
Чероки | nso |
Северный сото |
ckb |
Курдский (сорани) | ny |
Ньянджа |
co |
Корсиканский | nyn |
Ньянколе |
crs |
Сейшельский креольский | oc |
Окситанский |
cs |
Чешский | om |
Оромо |
cy |
Валлийский | or |
Ория |
da |
Датский | pa |
Панджаби |
de |
Немецкий | pcm |
Нигерийский пиджин |
ee |
Эве | pl |
Польский |
el |
Греческий | ps |
Пушту |
en |
Английский | pt |
Португальский |
eo |
Эсперанто | pt-br |
Португальский (Бразилия) |
es |
Испанский | pt-pt |
Португальский (Португалия) |
es-419 |
Испанский (Латинская Америка) | qu |
Кечуа |
et |
Эстонский | rm |
Романшский |
eu |
Баскский | rn |
Рунди |
fa |
Персидский | ro |
Румынский |
fi |
Финский | ru |
Русский |
fil |
Филиппинский | rw |
Киньяруанда |
fo |
Фарерский | sd |
Синдхи |
fr |
Французский | sh |
Сербохорватский |
fy |
Западнофризский | si |
Сингальский |
ga |
Ирландский | sk |
Словацкий |
gaa |
Га | sl |
Словенский |
gd |
Гэльский (шотландский) | sm |
Самоанский |
gl |
Галисийский | sn |
Шона |
gn |
Гуарани | so |
Сомали |
gu |
Гуджарати | sq |
Албанский |
ha |
Хауса | sr |
Сербский |
haw |
Гавайский | sr-latn |
Сербский (латиница) |
he |
Иврит | sr-me |
Черногорский |
hi |
Хинди | st |
Южный сото |
hr |
Хорватский | su |
Сунданский |
ht |
Гаитянский | sv |
Шведский |
hu |
Венгерский | sw |
Суахили |
hy |
Армянский | ta |
Тамильский |
ia |
Интерлингва | te |
Телугу |
id |
Индонезийский | tg |
Таджикский |
ig |
Игбо | th |
Тайский |
is |
Исландский | ti |
Тигринья |
it |
Итальянский | tk |
Туркменский |
iw |
Иврит | tl |
Тагалог |
ja |
Японский | tn |
Тсвана |
jw |
Яванский | to |
Тонганский |
ka |
Грузинский | tr |
Турецкий |
kg |
Конго | tt |
Татарский |
kk |
Казахский | tum |
Тумбука |
kl |
Гренландский | tw |
Тви |
km |
Кхмерский | ug |
Уйгурский |
kn |
Каннада | uk |
Украинский |
ko |
Корейский | ur |
Урду |
kri |
Крио | uz |
Узбекский |
ku |
Курдский (курманджи) | vi |
Вьетнамский |
ky |
Киргизский | wo |
Волоф |
la |
Латинский | xh |
Коса |
lg |
Ганда | yi |
Идиш |
ln |
Лингала | yo |
Йоруба |
lo |
Лаосский | zh-cn |
Китайский (упрощённый) |
loz |
Лози | zh-hk |
Китайский (Гонконг) |
lt |
Литовский | zh-tw |
Китайский (традиционный) |
lua |
Луба-лулуа | zu |
Зулу |
lv |
Латышский |
Что выбрать под задачу
- Выдача города - передавайте
region: страна подставится сама. Найти ID можно в справочнике регионов Google. - Выдача страны в целом - такой у Google нет: без города он возьмёт место из
адреса запроса. Передавайте
regionилиuuleгорода, который считаете типичным, обычно столицы. - Язык -
hlна языке ваших пользователей. В многоязычной стране выбирайте под ту аудиторию, чью выдачу снимаете:gl=by&hl=ruилиgl=by&hl=be.
Если не передать ничего о месте - ни страну, ни язык, ни регион, ни uule, ни
координаты, - API подставит Москву с gl=ru и hl=ru. Подробности - в документации.
Примеры
curl "https://jsonseo.ru/api/google?q=новости&gl=by&hl=ru&key=ВАШ_КЛЮЧ"
curl "https://jsonseo.ru/api/google?q=hotel+berlin&gl=de&hl=de&key=ВАШ_КЛЮЧ"
curl "https://jsonseo.ru/api/google?q=weather&gl=in&hl=hi&key=ВАШ_КЛЮЧ"
Таблицы строятся из того же справочника, по которому
API проверяет параметры gl и
hl.