untoreh/mtr

多API翻译器

0.1.0 2016-12-30 11:52 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:14:43 UTC


README

Build Status Scrutinizer Code Quality Dependency Status

PHP中的多语言翻译API包装器,支持多种服务的语言对,可以翻译或比较字符串或字符串数组。

安装

依赖
  • APC用户缓存

在命令行中使用composer composer require untoreh/mtr,然后在PHP中包含自动加载文件

require "../vendor/autoload.php";

use Mtr\Mtr;

用法

传递源语言/目标语言和字符串或字符串数组

$mtr = new Mtr();

$mtr->tr('en', 'fr', 'the fox hides quickly');
// returns : Le renard se cache rapidement

$mtr->tr('en', 'fr', ['the fox', 'hides quickly']);
// returns : ['le renard', 'Se cache rapidement']

数组键将被保留。

可用的基本语言代码列表,优先使用Google代码,这意味着如果您想翻译中文,应使用zh-TWzh-CN

$mtr->supLangs();
// returns : [ 'en', 'fr', ... ]

选择要使用的服务

$mtr->tr('en', 'fr', 'the fox hides quickly', ['google', 'bing']);

为其添加权重以指定相对于其他服务的选择次数

$mtr->tr('en', 'fr', 'the fox hides quickly', ['google' => 50, 'bing' => 5]);

自定义HTTP选项

$mtr = new Mtr(['request' => ['handler' => $stack]]);

API密钥

$mtr = new Mtr(['systran' => ['key' => $key]);

约定

  • 建议不要依赖翻译返回一致的标点符号,因此输入文本应尽可能原子化。
  • 一些服务会任意编码/解码HTML,甚至自己添加HTML标签,这类激进的服 务在输出之前会有活跃的解码。

注意

  • 请求限制为1000~ 字符,字符串和数组将根据此大小进行拆分或合并,以尝试使请求保持一致。
  • 请求的所有部分都同时运行,目前不使用(池)。
  • 默认服务的权重30(针对Google、Bing、Yandex),其余为10。
  • 缓存键以mtr_开头
  • 由于服务可能不稳定,当它们失败或阻止访问时,将删除它们。
  • 并非所有服务都支持所有语言,所使用的服务组将透明地裁剪到支持请求语言对的服务。

待办事项/改进

问题

致谢