ali-translator/translation-js-integrate

此包已被废弃且不再维护。作者建议使用ali-translator/translator-js-integrate包。

将ALI翻译器集成到前端js

v0.3.1 2022-10-02 08:25 UTC

This package is auto-updated.

Last update: 2022-10-02 08:26:30 UTC


README

ali-translator/translator提供的附加包,帮助将其翻译器集成到前端js。

安装

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

初始化

由于此包扩展自ali-translator/translator,首先需要创建$translator和包装器,以及其翻译的向量$plaiTranslator

然后,将src/assets/js/ali-translator.js脚本包含到您的html代码中。
之后,创建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'
}))

测试

包中存在用于测试的环境的docker-compose文件。

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