PHPackages                             ucraft-com/translation-app-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. ucraft-com/translation-app-sdk

ActiveLibrary[Localization &amp; i18n](/categories/localization)

ucraft-com/translation-app-sdk
==============================

SDK to access translations using gRPC

v1.5.1(1y ago)03.5kMITPHPPHP &gt;=8.2

Since Sep 7Pushed 1y ago6 watchersCompare

[ Source](https://github.com/ucraft-com/translation-app-sdk)[ Packagist](https://packagist.org/packages/ucraft-com/translation-app-sdk)[ RSS](/packages/ucraft-com-translation-app-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (56)Used By (0)

Translation App SDK for PHP
===========================

[](#translation-app-sdk-for-php)

Introduction
------------

[](#introduction)

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.

Installation
------------

[](#installation)

Install the Translation App SDK using [Composer](https://getcomposer.org/):

```
composer require ucraft-com/translation-app-sdk
```

QueryTranslationItemsValueObject
--------------------------------

[](#querytranslationitemsvalueobject)

The `QueryTranslationItemsValueObject` is used for querying translation items. It holds values for specifying the resource, resource ID, language code, and additional options for querying.

### Usage Example

[](#usage-example)

```
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();
```

UpsertTranslationItemValueObject
================================

[](#upserttranslationitemvalueobject)

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.

Usage Example
-------------

[](#usage-example-1)

```
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();
```

TranslationAppClient
====================

[](#translationappclient)

The `TranslationAppClient` is a client class that allows you to interact with RPC methods for managing translations.

Usage Example
-------------

[](#usage-example-2)

```
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);
```

License
-------

[](#license)

The Translation App SDK for PHP is open-source software licensed under the [MIT License](LICENSE.md).

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Recently: every ~29 days

Total

55

Last Release

523d ago

PHP version history (4 changes)v1.0.0PHP ^8.0.2

v1.0.2PHP &gt;=8.0

v1.3.0PHP &gt;=8.1

v1.4.1PHP &gt;=8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/f27fc61586c657de576cc2eb314e50979fdae18730accb87589b5d4f41a674a7?d=identicon)[ucraft](/maintainers/ucraft)

---

Top Contributors

[![miqayelsrapionyan](https://avatars.githubusercontent.com/u/66951632?v=4)](https://github.com/miqayelsrapionyan "miqayelsrapionyan (1 commits)")

### Embed Badge

![Health badge](/badges/ucraft-com-translation-app-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/ucraft-com-translation-app-sdk/health.svg)](https://phpackages.com/packages/ucraft-com-translation-app-sdk)
```

###  Alternatives

[symfony/translation

Provides tools to internationalize your application

6.6k836.5M2.0k](/packages/symfony-translation)[google/gax

Google API Core for PHP

263103.1M452](/packages/google-gax)[google/grpc-gcp

gRPC GCP library for channel management

18497.8M3](/packages/google-grpc-gcp)[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

169661.4M4.8k](/packages/nesbot-carbon)[googleads/google-ads-php

Google Ads API client for PHP

3497.6M9](/packages/googleads-google-ads-php)[temporal/sdk

Temporal SDK

4002.2M18](/packages/temporal-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
