qordoba/qordoba-php

此包最新版本(1.0.7)没有提供许可证信息。

此包的官方仓库似乎已不存在,因此包已被冻结。

1.0.7 2021-08-31 11:32 UTC

This package is not auto-updated.

Last update: 2023-01-03 18:44:40 UTC


README

描述

Qordoba API 客户端库使您能够即时使用 Qordoba 项目翻译服务。

要求

  • PHP 5.6 或更高版本

安装

您可以使用 Composer 或直接从源下载

Composer

首选方法是使用 composer。如果您尚未安装 composer,请按照安装说明进行操作。

安装 composer 后,在项目根目录中执行以下命令以安装此库

composer require qordoba/qordobaphp:^*

最后,请确保包含自动加载器

require_once '/path/to/your-project/vendor/autoload.php';

下载源代码

如果您讨厌使用 composer,您可以克隆包含整个包的仓库。

git clone git@path.to.git.repo.com/qordoba-php-library.git

使用 composer 安装此仓库中所需的所有内容

cd qordoba-php-library && composer install

在您的项目中包含自动加载器

require_once '/path/to/qordoba-php-library/vendor/autoload.php';有关安装和设置的其他说明,请参阅文档。

示例

请参阅 examples/ 目录中的关键客户端功能示例。您可以通过运行内置的 php 网络服务器在浏览器中查看它们。

$ php -S localhost:8000 -t examples/

基本示例

然后浏览到您指定的主机和端口(在上面的示例中,https://:8000)。

    $login = ""; // Qordoba Username
    $pass = ""; // Qordoba pass
    $apiUrl = ""; // Usually https://app.qordoba.com/api/
    $projectId = ""; // Your Qordoba project ID
    $orgId = ""; // Your Qordoba Organization ID

    $Doc = new Qordoba\Document($apiUrl, $login, $pass, $projectId, $orgId);
    $Doc->setName("Translation Test");

    $Doc->addTranslationString("test", "New Test String");
    ...
    $Doc->createTranslation();

通过登录/密码进行认证

遗憾的是,此客户端需要直接从常规认证过程中检索授权密钥,因此您的用户名和密码必须直接提供给 API。您可以在上面的示例中看到这一点。将添加基于密钥的应用程序授权的方法。

创建翻译对象

当您尝试创建 Document 对象时,您需要传递 4 个参数给新对象 - 您的 Qordoba 用户名/密码、Qordoba 项目 ID 和 Qordoba 授权 ID。另外,为了获取翻译,您需要设置名称,该名称将稍后用作 lltpx。

$Doc = new Qordoba\Document($apiUrl, $login, $pass, $projectId, $orgId);
$Doc->setName("Translation Test");

形成翻译字符串/JSON

库专门用于处理创建和更新翻译字符串的例程。

首先 - 设置适当的文档类型

$Doc->setType('json');

添加新的部分

$Section = $Doc->addSsection("Product")

向部分添加新的字符串

$TestString = $Section->addTranslationString('test', 'Test this for translate')

或者

$TestString = new TranslationString('test', 'Test this for translate');
$Section->addTranslationString($TestString);

使用它自己的方法更新字符串

$TestString->update('Testing this updated thing');

使用部分对象更新字符串

$Section->updateTranslationString('test', 'Testing double this updated thing')

使用部分方法删除字符串

$Section->removeTranslationString('test');

通过自身方法删除字符串

$TestString->unlink();

形成翻译内容 / HTML

设置HTML翻译的文档类型

$Doc->setType('html');

将内容附加到文档

$Doc->addTranslationContent("<html><body><div>Testing Content</div><div>Another Testing Content</div></body></html>");

发送形成的文档进行翻译

下一个方法将您的翻译字符串以“新”标签作为新文件发送到Qordoba服务。

$Doc->createTranslation();

如果出现问题,将出现各种异常。如果已发送翻译字符串,则返回true。

更新现有文档

您可以将现有名称分配给翻译文档,并使用新版本更新Qordoba。为此 - 正常形成发送的字符串结构,发送项目名称并设置不同的版本标签。

$Doc = new Qordoba\Document($apiUrl, $login, $pass, $projectId, $orgId);
$Doc->setName('Translation Test`);
$Doc->setTag('Updated_Version');
$Doc->updateTranslation();

检查翻译状态

要检查当前翻译的状态,只需形成文档,然后调用

$Doc->checkTranslation($langCode);

将语言代码参数(Qordoba内部字符串,如en-us)传递给此方法将强制检查特定语言,而无需此参数将检查所有项目语言。

检索翻译

可以通过下一次调用检索提交的结构

$Doc->fetchTranslation($langCode);

将语言代码参数(Qordoba内部字符串,如en-us)传递给此方法将强制检索特定语言的构造,而无需此参数将以数组形式检索所有项目语言。

附加信息

语言

可以通过以下方式获取所有可用语言

$Doc->getMetadata();

可以通过以下方法通过项目对象接收所有可用的项目语言

$Doc->getProjectLanguages();

连接

可以通过专用获取器从文档访问连接对象

$conn = $Doc->getConnection();

请小心使用此对象,因为如果与文档进行适当的同步,此对象将破坏您的翻译发送顺序。

更新令牌

目前不需要更新令牌 - 库强制在每次启动时请求新的密钥,并仅在会话结束时存储密钥。如果您确实需要缓存您的密钥并在之后更新它,并利用密钥请求的数量 - 您可以按以下方式执行此操作

$conn = $Doc->getConnection();
$key = $conn->requestAuthToken();
save_key_somewhere($key);
...
$key = retrieve_key_from_local_storage();
$conn = $Doc->getConnection();
$conn->setApiKey($key);

如果密钥过期,将生成具有API错误的异常,请记住这一点。在这种情况下,只需生成新令牌并将其按常规存储即可。

代码质量

使用PHPUnit运行PHPUnit测试。

phpunit tests/