当前位置:首页 > PHP

php 实现翻译

2026-01-29 12:42:49PHP

使用 Google Translate API

PHP 可以通过调用 Google Translate API 实现翻译功能。需要注册 Google Cloud 账号并获取 API 密钥。

$apiKey = 'YOUR_GOOGLE_API_KEY';
$text = 'Hello, world!';
$targetLanguage = 'zh';

$url = "https://translation.googleapis.com/language/translate/v2?key=$apiKey";
$data = [
    'q' => $text,
    'target' => $targetLanguage
];

$options = [
    'http' => [
        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query($data)
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$result = json_decode($response, true);

echo $result['data']['translations'][0]['translatedText'];

使用 Microsoft Translator API

Microsoft Azure 也提供翻译服务,需要注册 Azure 账号并获取 API 密钥。

$apiKey = 'YOUR_AZURE_API_KEY';
$text = 'Hello, world!';
$targetLanguage = 'zh-Hans';

$url = "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=$targetLanguage";
$headers = [
    'Ocp-Apim-Subscription-Key: ' . $apiKey,
    'Content-Type: application/json'
];

$body = json_encode([['Text' => $text]]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
echo $result[0]['translations'][0]['text'];

使用本地翻译库

对于不需要实时联网的场景,可以使用本地翻译库如 PHP-Google-Translate-Free。

require 'vendor/autoload.php';
use Statickidz\GoogleTranslate;

$source = 'en';
$target = 'zh';
$text = 'Hello, world!';

$trans = new GoogleTranslate();
$result = $trans->translate($source, $target, $text);

echo $result;

使用数据库存储翻译

对于多语言网站,可以在数据库中存储翻译内容。

$pdo = new PDO('mysql:host=localhost;dbname=translations', 'username', 'password');
$text = 'Welcome';
$language = 'fr';

$stmt = $pdo->prepare("SELECT translation FROM translations WHERE original = ? AND language = ?");
$stmt->execute([$text, $language]);
$result = $stmt->fetch();

echo $result['translation'];

使用 gettext 扩展

PHP 内置的 gettext 扩展适合本地化应用程序。

php 实现翻译

putenv('LC_ALL=fr_FR');
setlocale(LC_ALL, 'fr_FR');
bindtextdomain('messages', './locale');
textdomain('messages');

echo _("Hello, world!");

每种方法适用于不同场景,API 方式适合需要高质量实时翻译,本地库适合离线环境,数据库方式适合网站多语言支持,gettext 适合应用程序本地化。

标签: php
分享给朋友:

相关文章

php实现文件上传

php实现文件上传

PHP 文件上传实现方法 在 PHP 中实现文件上传需要处理 HTML 表单和服务器端脚本。以下是详细步骤: 创建 HTML 表单 使用 enctype="multipart/form-data"…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session是…

php验证码实现

php验证码实现

验证码实现方法 在PHP中实现验证码功能通常涉及生成随机字符串或数字,将其转换为图像,并通过会话(Session)进行验证。以下是几种常见的实现方式: 使用GD库生成图像验证码 GD库是PHP内置的…

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERVER…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php实现推送

php实现推送

PHP 实现推送功能的方法 PHP 实现推送功能可以通过多种方式完成,包括 WebSocket、Server-Sent Events (SSE)、长轮询或第三方推送服务。以下是几种常见的方法: 使用…