Additional packet for ali-translator/translator which help integrate this tanslator to frontend js.
$ composer require ali-translator/translator-js-integrate
Since this package extended from ali-translator/translator,
at first you need create $translator
and wrapper, with vector of his translation - $plaiTranslator
Than include src/assets/js/ali-translator.js
script in your html code.
After that, create instance of ALIAbsTranslatorJs
:
use ALI\TranslatorJsIntegrate\ALIAbcTranslatorJs;
use ALI\Translator\PlainTranslator\PlainTranslator;
/** @var PlainTranslator $plainTranslator */
$ALIAbcTranslatorJs = new ALIAbcTranslatorJs($plainTranslator);
php:
use \ALI\TranslatorJsIntegrate\ALIAbcTranslatorJs;
/** @var ALIAbcTranslatorJs $aLIAbsTranslatorJs */
// $aliAbc->saveTranslate('Hello {object}!', 'Привіт {object}!');
$aLIAbsTranslatorJs->addOriginals(['Hello {object}!']);
$startUpJsCode = $aLIAbsTranslatorJs->generateStartupJs('__t');
html:
<html>
<head>
<script src="/js/ali-translator.js"></script>
<script><?= $startUpJsCode ?></script>
</head>
<body>...</body>
</html>
js:
alert(__t('Hello {object}!',{
'object' : 'sun'
}))
In packet exist docker-compose file, with environment for testing.
docker-compose run php composer install
docker-compose run php vendor/bin/phpunit