Вывод языковой стрчки пользователю по geoip

12
J
На сайте с 06.07.2011
Offline
169
896

geoip уже подключен к сайту, подскажите пожалуйста код, который бы выводил строчку под 4 страны: fr, de, sp, it

Если человек из другой страны, то по дефолту бы шла eng строка.

Вот примерный код реализации, но он разумеется не рабочий


{{if "DE"|strstr:$smarty.server.GEOIP_COUNTRY_CODE}}
<div>german text
{{/if}}
{{if "SP"|strstr:$smarty.server.GEOIP_COUNTRY_CODE}}
<div>spanish text
{{/if}}
{{if "it"|strstr:$smarty.server.GEOIP_COUNTRY_CODE}}
<div>italian text
{{/if}}
{{if "fr"|strstr:$smarty.server.GEOIP_COUNTRY_CODE}}
<div>french text
{{/if}}
{{if "если нет выше указанных стран"|strstr:$smarty.server.GEOIP_COUNTRY_CODE}}
<div>english text
{{/if}}
domen4you
На сайте с 08.03.2013
Offline
53
#1
L
На сайте с 10.02.2015
Offline
260
#2

Что выводит

{$smarty.server.GEOIP_COUNTRY_CODE}

?

J
На сайте с 06.07.2011
Offline
169
#3

Спасибо, почитаю.

Хотелось бы конечно кусочек рабочего кода, чему буду очень благодарен. ;)

Solmyr
На сайте с 10.09.2007
Offline
501
#4

Не хорошо по IP, надо по языку браузера.

J
На сайте с 06.07.2011
Offline
169
#5
Solmyr:
Не хорошо по IP, надо по языку браузера.

А как по нему тогда?

Mad_Man
На сайте с 10.11.2008
Offline
162
#6


public static function lang()
{
return strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
}

public static function is_lang($lang)
{
if (static::lang() == $lang)
{
return true;
}

return false;
}


#####################################################################################
# http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry #
#####################################################################################

public static function is_englishman() { return static::is_lang('en'); }
public static function is_spanish() { return static::is_lang('es'); }
public static function is_chinese() { return static::is_lang('zh'); }
public static function is_russian() { return static::is_lang('ru'); }

...
J
На сайте с 06.07.2011
Offline
169
#7
Mad_Man:

public static function lang()
{
return strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
}

public static function is_lang($lang)
{
if (static::lang() == $lang)
{
return true;
}

return false;
}


#####################################################################################
# http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry #
#####################################################################################

public static function is_englishman() { return static::is_lang('en'); }
public static function is_spanish() { return static::is_lang('es'); }
public static function is_chinese() { return static::is_lang('zh'); }
public static function is_russian() { return static::is_lang('ru'); }

...

Никак не получается его приспособить, а если к примеру на странице нужно вывести 2 слова, а не одно, тогда как быть?

Mad_Man
На сайте с 10.11.2008
Offline
162
#8

Какое, мде, слово?

J
На сайте с 06.07.2011
Offline
169
#9
Mad_Man:
Какое, мде, слово?

Ну имеется вывод перевода двух слов в разных местах.

Накопал вот какой скрипт: http://visavi.net/blog/blog.php?act=view&id=496

но как бы его приспособить только.

Mad_Man
На сайте с 10.11.2008
Offline
162
#10

Позовите, пожалуйста, к экрану личность, которая интересовалась языком браузера.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий