0

我试图在 php 中创建响应实现,但我的问题是更改月份结果的语言。我用 setlocale 设置了 php webhook,但谷歌助手总是用英文响应。

header( 'Access-Control-Allow-Headers: *' );
header( 'Access-Control-Allow-Origin: *' );
header( "Access-Control-Allow-Credentials: true" );
header( 'Content-Type: application/json' );
$postdata = file_get_contents( "php://input" );
$input = json_decode( $postdata, true );
setlocale (LC_TIME, 'it_IT.utf8','ita'); 
$intent = $input[ 'queryResult' ][ 'intent' ][ 'displayName' ];
$giorno = $input[ 'queryResult' ][ 'parameters' ][ 'giorno' ];
$guest = $input[ 'queryResult' ][ 'parameters' ][ 'guest' ];
$telefono = $input[ 'queryResult' ][ 'parameters' ][ 'telefono' ];
$tempo = $input[ 'queryResult' ][ 'parameters' ][ 'time' ][ 0 ];
$nome = $input[ 'queryResult' ][ 'parameters' ][ 'nome' ];
$oggi = date( "d F", strtotime($giorno) );

echo "{
    'fulfillmentText': 'Grazie " . $nome . ", ti confermo la tua prenotazione per ".$guest." persone alle ore " . substr( $tempo, -14, 5 ) . " del giorno " . $oggi . ".',
    'fulfillmentMessages': [
            {'text':
            {'text':
            ['Grazie " . $nome . ", ti confermo la tua prenotazione per ".$guest." persone alle ore " . substr( $tempo, -14, 5 ) . " del giorno " . $oggi . ".']
        }}],
    'source':'webhook'
}"

我必须改变什么才能用意大利语获得月份名称?

4

2 回答 2

0

您应该尝试使用strftime函数

$oggi = strftime( "%e %B", strtotime($giorno) );
于 2019-02-19T11:36:40.393 回答
0

您应该使用setlocale()

尝试如下:

setlocale(LC_TIME, 'it_IT');
$month_name = date('F', mktime(0, 0, 0, 1));

用当地语言参考这个月,mktime()

在这种情况下,它将设置为法语。对于您的情况,它应该是以下之一:

  1. sr_BA- 塞尔维亚语(黑山)
  2. sr_CS- 塞尔维亚语(塞尔维亚)
于 2019-02-19T11:48:54.753 回答