spiritbox/yii2-translate

Translation component for Yii2。基于Yii2框架的翻译组件


Keywords
google, translate, yii2, youdao
License
BSD-3-Clause

Documentation

yii2-translate

用于Yii2的翻译组件,支持同时翻译多种语言, 支持Html翻译。 Translation component for Yii2, multiple language support, html translate support.

安装

composer require spiritbox/yii2-translate

备注

Google翻译接口可能会被封IP, 可用于测试, 真是环境建议使用有道翻译。
有道翻译网址:https://ai.youdao.com   

配置

'translate' => [
    'class' => 'yii\translate\GoogleTranslate',
    'url' => 'https://translate.google.cn/translate_a/single',
    'clientOptions' => [
        'timeout' => 3, //单次请求超时时限
        'concurrency' => 10, //并发请求数
    ],
],
或
'translate' => [
    'class' => 'yii\translate\YoudaoTranslate',
    'clientOptions' => [
        'timeout' => 3, //单次请求超时时限
        'concurrency' => 10, //并发请求数
    ],
    'options' => [
        'app_key' => '******',//有道应用ID
        'app_secret' => '******',//有道应用密钥
    ],
],

用法

Google翻译(支持语种见:src/GoogleLanguages.php)

### 单语言示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget('zh-CN')
        ->transText('Hello World!');

### 多语言示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget(['zh-CN', 'de', 'es', 'it', 'fr'])
        ->transText('Hello World!');
        
### 多语言键值翻译示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget(['zh-CN', 'de', 'es', 'it', 'fr'])
        ->transText(['k1' => 'Hello World!', 'k2' =>'I come from china!']);
         
### 单语种Html翻译示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget('zh-CN')
        ->transHtml('<h1>Hello World!</h1>');
                
### 多语言Html翻译示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget(['zh-CN', 'de', 'es', 'it', 'fr'])
        ->transHtml('<h1>Hello World!</h1>');

有道翻译(支持语种见:src/YoudaoLanguages.php)

### 单语言示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget('zh-CHS')
        ->transText('Hello World!');

### 多语言示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget(['zh-CHS', 'de', 'es', 'it', 'fr'])
        ->transText('Hello World!');
        
### 多语言键值翻译示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget(['zh-CHS', 'de', 'es', 'it', 'fr'])
        ->transText(['k1' => 'Hello World!', 'k2' =>'I come from china!']); 

### 单语种Html翻译示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget('zh-CHS')
        ->transHtml('<h1>Hello World!</h1>');
        
### 多语言Html翻译示例
    Yii::$app->get('translate')
        ->setSource('en')
        ->setTarget(['zh-CHS', 'de', 'es', 'it', 'fr'])
        ->transHtml('<h1>Hello World!</h1>');