Skip to content

ali-translator/translator-js-integrate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Js integration of php AliAbc Translator to frontend

Additional packet for ali-translator/translator which help integrate this tanslator to frontend js.

Installation

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

Init

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

Basic Usage

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'
}))

Tests

In packet exist docker-compose file, with environment for testing.

docker-compose run php composer install
docker-compose run php vendor/bin/phpunit