Current Location: Home> Latest Articles> PHP Implementation of Baidu Translation API: A Complete Guide for Translating from Chinese to Italian

PHP Implementation of Baidu Translation API: A Complete Guide for Translating from Chinese to Italian

M66 2025-06-26

Introduction

As globalization continues to advance, communication across languages has become increasingly important. To meet this demand, the Baidu Translation API offers a powerful tool that allows developers to implement translations between various languages. In this article, we will demonstrate how to use PHP in conjunction with the Baidu Translation API to translate text from Chinese to Italian.

1. Preparation

First, you need to apply for an API key through the Baidu Translation Open Platform. Once your application is successful, you will receive an APP ID and secret key. Make sure to save this information securely for later use.

2. Installing Required Libraries

Before implementing the translation functionality, you need to install the following two PHP libraries:

  • Guzzle HTTP Client: Used for sending HTTP requests.

  • Dotenv: Used for loading environment variables to securely store the APP ID and secret key.

You can install these dependencies with the following commands:

composer require guzzlehttp/guzzle
composer require vlucas/phpdotenv

3. Creating the Translation Class

Next, we will create a file named Translate.php in the root directory of our project and write code to handle API calls.

<?php

require 'vendor/autoload.php';
use GuzzleHttp\Client;
use Dotenv\Dotenv;

class Translate
{
    protected $client;
    protected $dotenv;
    protected $appId;
    protected $secretKey;

    public function __construct()
    {
        $this->client = new Client();
        $this->dotenv = Dotenv::createImmutable(__DIR__);
        $this->dotenv->load();

        $this->appId = getenv('APP_ID');
        $this->secretKey = getenv('SECRET_KEY');
    }

    public function translate($query)
    {
        $salt = mt_rand(1, 10000);
        $sign = md5($this->appId . $query . $salt . $this->secretKey);

        $response = $this->client->get('http://api.fanyi.baidu.com/api/trans/vip/translate', [
            'query' => [
                'q' => $query,
                'from' => 'zh',
                'to' => 'it',
                'appid' => $this->appId,
                'salt' => $salt,
                'sign' => $sign,
            ],
        ]);

        $result = json_decode($response->getBody(), true);
        return $result;
    }
}

4. Calling the Translation API

In your main file, you can instantiate the Translate class and call the translate method to perform the translation. Create a file named index.php and add the following code:

<?php

require 'Translate.php';

$translate = new Translate();
$query = '你好,世界!';

$result = $translate->translate($query);

if ($result['error_code'] == 0) {
    $translations = $result['trans_result'];
    foreach ($translations as $translation) {
        echo $translation['dst'] . "\n";
    }
} else {
    echo "Translation failed, please check the input!";
}

5. Running the Program

Save and run the index.php file. You should see the output "Ciao mondo!", which is the Italian translation of "Hello, World!".

Conclusion

By combining PHP with the Baidu Translation API, we can quickly implement a translation feature from Chinese to Italian. With just a few simple steps to configure the API key and write the code, you can easily achieve multilingual translation, enabling better communication and collaboration globally.

We hope this article helps you understand how to implement the Baidu Translation API in PHP and serves as a useful reference for your actual development projects.