2015-03-09 3 views
2

Это моя проблема. Я объясняю:Установить язык под названием JSON

Я использую Firefox. Если я задаю язык браузера на английском языке, на следующей странице отображается текст на испанском языке, но валюта в долларах. Link

Тот же URL-адрес. Если язык браузера установлен на испанский, тексты отображаются на испанском языке и в валюте в евро.

Я создал скрипт с PHP с помощью JSON: как я могу установить язык для вызовов? Следующий код, всегда возвращает английский язык:

<?php 
$url = "http://steamcommunity.com/market/search/render/?l=spanish&start=0&count=20&currency=3&category_730_Weapon%5B%5D=tag_weapon_awp&appid=730&query=Man-o%27-war"; 
$json_object= file_get_contents($url); 
$json_decoded = json_decode($json_object); 


//precios 
preg_match_all('/<span style="color:white">(.*)<\/span>/',$json_decoded->results_html, $sor); 

foreach($sor[1] as $k => $v) 
{ 
    echo $v."<br/>"; 
} 

?> 

Я хочу валютные евро. Я попытался добавить следующие изменения, но результат в валюте всегда является английским:

<html lang="es"> 
<head> 

<meta http-equiv="Content-Language" content="es"/> 

</head> 
<body> 
<?php 

$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); 
echo $locale."<br/>"; 

$options = array(
    'http'=>array(
    'method'=>"GET", 
    'header'=>"Accept-language: es\r\n" . 
       "Cookie: foo=bar\r\n") 
); 

$context = stream_context_create($options); 

$url = "http://steamcommunity.com/market/search/render/?l=spanish&start=0&count=20&currency=3&category_730_Weapon%5B%5D=tag_weapon_awp&appid=730&query=Man-o%27-war"; 
$json_object= file_get_contents($url,false,$context); 
$json_decoded = json_decode($json_object); 


//precios 
preg_match_all('/<span style="color:white">(.*)<\/span>/',$json_decoded->results_html, $sor); 

foreach($sor[1] as $k => $v) 
{ 
    echo $v."<br/>"; 
} 

?> 
</body> 
</html> 

Благодарим за помощь. Приветствую.

+0

Я изменил файл конфигурации Apache. Эта строка: LanguagePriority en cs de fr es it ja ko nl pl pt-br ro sv tr Изменено по LanguagePriority es en cs de fr it ja ko nl pl pt-br ro sv tr .but no positive result. Язык дисплея остается английским –

+0

Вы видели мой ответ? Проверьте ссылку, которую я разместил, - это измененная ссылка с правильным испанским текстом. –

+0

Большое спасибо Darragh. Ваш ответ помог мне оставить тексты на испанском языке. Теперь проблема в том, что валюта остается долларами. Я отредактировал проблему с обновлением. –

ответ

1

У вас есть опечатка. В частности, в вашем URL-адресе. Вы говорите ?l=espanish. Он должен быть ?l=spanish:

http://steamcommunity.com/market/search/render/?l=spanish&start=0&count=20&currency=3&category_730_Weapon%5B%5D=tag_weapon_awp&appid=730&query=Man-o%27-war

Редактировать

У меня нет больше никаких ответов, к сожалению, но я наткнулся на следующий SO ответ, который может быть полезным. Казалось бы, отображаемая валюта является контекстуальной - я полагаю, вам нужно войти в систему через ваш скрипт?

https://stackoverflow.com/a/22623700/312962

Во всяком случае, я надеюсь, что это помогает!

+0

Этот ответ полезен +1, но моя низкая репутация не позволяет мне голосовать –

+0

Вы можете принять его вместе с галочкой! – rinukkusu

0

за валюту у вас есть & валюты = : USD : € (я верю, попробуйте)

Смежные вопросы