qordoba / qordoba-php
此包的官方仓库似乎已不存在,因此包已被冻结。
Requires
- php: ^5.4 || 7.*
- guzzlehttp/guzzle: ~6.0
- respect/validation: ~1.1
Requires (Dev)
- php: ^5.4 || 7.*
- fzaninotto/faker: ^1.7
- phpunit/phpunit: 6.2
- squizlabs/php_codesniffer: 3.*
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/