mistralys/deepl-xml-translator

2.0.2 2022-12-13 12:45 UTC

This package is auto-updated.

Last update: 2024-09-19 23:30:12 UTC


README

Build Status

DeepL XML 翻译器

这是一个可以翻译包含标记的字符串集合的PHP助手类。它使用DeepLXML翻译功能,设计得非常易于使用。

安装

只需通过Composer在你的项目中引入此包

"require": {
    "mistralys/deepl-xml-translator" : "dev-master"
}

查看Packagist页面:https://packagist.org.cn/packages/mistralys/deepl-xml-translator

使用方法

创建助手类的新实例

$translator = new \DeeplXML\Translator(
    'YourAPIKey', // the DeepL API key to use to connect
    'EN', // source language
    'DE' // target language
); 

添加要翻译的字符串

$translator->addString('string1', 'Please translate me');
$translator->addString('string2', 'Please also translate me');

获取翻译结果

try
{
    $translator->translate();
}
catch(\DeeplXML\Translator_Exception $e)
{
    // handle errors
}    

访问翻译后的字符串

一次性检索所有字符串

$strings = $translator->getStrings();

 foreach($strings as $string)
 {
     $text = $string->getTranslatedText();
 }

通过ID检索特定字符串

$string = $translator->getStringByID('string2');
$text = $string->getTranslatedText();

忽略字符串的一部分

为了避免字符串的部分被翻译,可以根据需要指定要忽略的字符。在发送翻译到DeepL之前,它们将被占位符替换,翻译后再恢复。

$string = $translator->addString('string1', 'Please ignore me');

// the text "ignore" will not be translated in the string
$string->addIgnoreString('ignore');

DeepL API连接

翻译器类使用SC-Networks/deepl-api-connector DeepL API包在后台连接到服务。

如果您需要更多高级功能,例如翻译文件等,您可以直接使用完全配置的连接器实例。

$api = $translator->getConnector();

// do something with it

运行测试

默认情况下,单元测试将仅测试翻译器自身的离线API。要启用与DeepL API的实时测试,将文件tests/apikey.dist.php重命名为tests/apikey.php,并编辑它以插入您的API密钥。将自动启用附加测试。