textking / api
Library to access the TEXTKING REST API for human translation.
0.1
2013-12-18 13:57 UTC
Requires
- guzzle/guzzle: ~3.7
This package is not auto-updated.
Last update: 2025-02-25 03:39:46 UTC
README
This library provides an object oriented interface to the TEXTKING translation API. The TEXTKING translation API is a RESTful web service which allows you to automate your translation processes using the high quality human translations offered by the TEXTKING translation agency.
Features
- Get information about your prepared, running and completed translation projects.
- Create and commission new translation projects
- Upload documents for translation in various file formats
- Perform a cost analysis for uploaded documents
- Get informed about the state of a translation in progress
- Download the translated documents
Requirements
Installing via Composer
The recommended way to install the TEXTKING API is through Composer.
# Install Composer curl -sS https://getcomposer.org/installer | php # Add TEXTKING API as a dependency php composer.phar require textking/api:~0.1
This will install the TEXTKING API and its dependencies into your project.
After installing, you need to require Composer's autoloader:
require 'vendor/autoload.php';
Usage
The following example demonstrates how you can use the TEXTKING API to submit a text for translation.
<?php require __DIR__ . '/../vendor/autoload.php'; use TextKing\Model\Project; use TextKing\Model\Job; use TextKing\Model\Document; // This is your OAuth 2 access token // See https://github.com/TextKing/textking-api/wiki/Authorization-and-authentication define("API_ACCESS_TOKEN", "youraccesstoken"); // Create a new service instance $service = new Service(API_ACCESS_TOKEN); // Create a new translation project $project = new Project(); $project->setName("My translation project"); $project = $service->createProject($project); // Now add a new translation job English to German to the project. // A project can have multiple jobs. $job = new Job(); $job->setName("My translation job"); $job->setSourceLanguage("en"); $job->setTargetLanguage("de"); $job->setQuality(Job::QUALITY_TRANSLATION); $job = $this->service->createJob($project->getId(), $job); // We have to upload the text to translate to the job. // This could be a file stream, but in this example we just // use some plain text. $text = "In another moment down went Alice after it, never once considering how in the world she was to get out again."; $document = Document::createFromString($text); $this->service->uploadDocument($project->getId(), $job->getId(), $document); // Now get an updated version of the project to see the pricing. $project = $service->getProject($project->getId()); echo "Net price: " . $project->getNetPrice() . " " . $project->getCurrency() . "\n" echo "VAT: " . $project->getVat() . " " . $project->getCurrency() . "\n" echo "Expected delivery date: " . $project->getDueDate() . "\n" // To actually order the translation we have to start the project by // setting it's state "running". // PLEASE NOTE: You will be charged for the translation once you do this. // $project->setState(Project::STATE_RUNNING); // $project = $this->service->updateProject($project->getId(), $project);