Welcome to the Translation App SDK for PHP! This library provides a seamless integration with our Translation App, allowing you to easily manage translations within your PHP application. Whether you're building a multilingual website or a globalized application, this SDK simplifies the process of handling translations.
Install the Translation App SDK using Composer:
composer require ucraft-com/translation-app-sdk
The QueryTranslationItemsValueObject
is used for querying translation items. It holds values for specifying the resource, resource ID, language code, and additional options for querying.
use Uc\TranslationAppSdk\ValueObjects\QueryTranslationItemsValueObject;
// Create a QueryTranslationItemsValueObject instance
$queryObject = new QueryTranslationItemsValueObject(
'en-US', // locale
'your_resource', // optional, ex: project_id
1, // optional, ex: project id (1)
'key', // optional, key to search
['key' => 'asc'], // optional, or 'updated_at' => 'desc'
1, // optional, page number
20, // optional, first n entites
false, // optional, find all, default false
);
// Accessing properties
$resource = $queryObject->getResource();
$resourceId = $queryObject->getResourceId();
$languageCode = $queryObject->getLanguageCode();
$key = $queryObject->getKey();
$orderBy = $queryObject->getOrderBy();
$page = $queryObject->getPage();
$first = $queryObject->getFirst();
$findAll = $queryObject->getFindAll();
The UpsertTranslationItemValueObject
is used for upserting translation items. It holds values for specifying the translation value, language code, translation entry ID, resource, resource ID, editor name, and optional parameters.
use Uc\TranslationAppSdk\ValueObjects\UpsertTranslationItemValueObject;
// Create an UpsertTranslationItemValueObject instance
$upsertObject = new UpsertTranslationItemValueObject(
'Hello, World!', // value
'en-US', // locale
'your_translation_entry_id', // translation entry id (relation)
'John Doe', // editor name
'your_resource', // optional, ex: project_id
1, // optional, ex: project id (1)
null, // optional, translation id (when updating, when null: creating)
['param1' => 'value1', 'param2' => 'value2'] // optional, some params that may be used
);
// Accessing properties
$resource = $upsertObject->getResource();
$resourceId = $upsertObject->getResourceId();
$key = $upsertObject->getKey();
$editorName = $upsertObject->getEditorName();
$value = $upsertObject->getValue();
$languageCode = $upsertObject->getLanguageCode();
$hasTranslationId = $upsertObject->hasTranslationId();
$translationId = $upsertObject->getTranslationId();
$hasParams = $upsertObject->hasParams();
$params = $upsertObject->getParams();
The TranslationAppClient
is a client class that allows you to interact with RPC methods for managing translations.
use Uc\TranslationAppSdk\TranslationAppClient;
use Uc\TranslationAppSdk\ValueObjects\UpsertTranslationItemValueObject;
use Uc\TranslationAppSdk\ValueObjects\QueryTranslationItemsValueObject;
// Create a TranslationAppClient instance
$client = new TranslationAppClient($yourTranslationClientInstance);
// Example QueryTranslationItemsValueObject
$queryObject = new QueryTranslationItemsValueObject(
'en-US',
'your_resource',
1,
'key',
['key' => 'asc'],
1,
20,
false,
);
// Example UpsertTranslationItemValueObject
$upsertObject = new UpsertTranslationItemValueObject(
'Hello, World!',
'en-US',
'your_translation_entry_id',
'John Doe',
'your_resource',
1,
null,
['param1' => 'value1', 'param2' => 'value2']
);
// Get paginated translations
$paginatedTranslations = $client->getTranslations($queryObject);
// Find all translations without pagination
$allTranslations = $client->findAll($queryObject);
// Upsert a translation item
$upsertedTranslation = $client->upsert($upsertObject);
The Translation App SDK for PHP is open-source software licensed under the MIT License.