ali-translator/translation-js-integrate

Integrate ALI translator to frontend js

v0.3.2 2025-07-23 14:50 UTC

This package is auto-updated.

Last update: 2025-07-23 14:53:35 UTC


README

Additional package for ali-translator/translator which helps integrate this translator into frontend JS.

Installation

$ composer require ali-translator/translator-js-integrate

Initialization

Since this package extends ali-translator/translator, first you need to create a $translator and a wrapper with its translations vector - $plainTranslator

Then include the src/assets/js/ali-translator.js script in your HTML code.
After that, create an instance of ALIAbcTranslatorJs:

use ALI\TranslatorJsIntegrate\ALIAbcTranslatorJs;
use ALI\Translator\PlainTranslator\PlainTranslator;

/** @var PlainTranslator $plainTranslator */

$ALIAbcTranslatorJs = new ALIAbcTranslatorJs($plainTranslator);

Basic Usage

PHP:

use \ALI\TranslatorJsIntegrate\ALIAbcTranslatorJs;

/** @var ALIAbcTranslatorJs $aliAbcTranslatorJs */

// $aliAbc->saveTranslate('Hello {object}!', 'Привіт {object}!');

$aliAbcTranslatorJs->addOriginals(['Hello {object}!']);
$startUpJsCode = $aliAbcTranslatorJs->generateStartupJs('__t');

HTML:

<html lang="en">
<head>
<script src="/js/ali-translator.js"></script>
<script><?= $startUpJsCode ?></script>
</head>
<body>...</body>
</html>

JS:

alert(__t('Hello {object}!', {
    'object': 'sun'
}));

Tests

The package includes a docker-compose file with an environment for testing.

docker-compose run php composer install
docker-compose run php vendor/bin/phpunit
vendor/bin/phpstan analyse src tests