untoreh / mtr
多API翻译器
0.1.0
2016-12-30 11:52 UTC
Requires
- campo/random-user-agent: >=1.2.0
- guzzlehttp/guzzle: >=6.0.0
This package is not auto-updated.
Last update: 2024-09-28 20:14:43 UTC
README
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-TW
或zh-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_
开头 - 由于服务可能不稳定,当它们失败或阻止访问时,将删除它们。
- 并非所有服务都支持所有语言,所使用的服务组将透明地裁剪到支持请求语言对的服务。
待办事项/改进
在问题中
致谢
- guzzle/guzzle - HTTP客户端
- Stichoza/google-translate-php - Google令牌生成器
- leodido/langcode-conv - 语言代码转换器的基
- joecampo/random-user-agent - 用户代理字符串