PHPackages                             zclwy/translation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. zclwy/translation

ActiveLibrary[Localization &amp; i18n](/categories/localization)

zclwy/translation
=================

translate field，将字段变更翻译成相应文案

v1.0.2(3y ago)010MITPHPPHP &gt;=7.4

Since Jun 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/zclwy/translation)[ Packagist](https://packagist.org/packages/zclwy/translation)[ RSS](/packages/zclwy-translation/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

这是一个将数组字段及值映射为相应文本的类
====================

[](#这是一个将数组字段及值映射为相应文本的类)

特性
--

[](#特性)

- 支持多维数组
- 支持新旧数据变更翻译
- 配置简单且多样
- 支持json数据
- 支持扩展

安装
--

[](#安装)

#### 使用composer安装

[](#使用composer安装)

```
composer require zclwy/translation

```

一、使用
----

[](#一使用)

1、简单使用

```
use Zclwy\Translation\Translation;

$configs = [
    'name' => '名字'
];
$data = [
    'name' => '我是一个名字'
];
$tpl = '【:attribute】值为“:value”';
$tran = new Translation($configs, $tpl);
$tran->translate($data);
echo $tran; // 【名字】值为“我是一个名字”
echo $tran->getTranslateString(); // 【名字】值为“我是一个名字”
```

2、支持值映射

```
use Zclwy\Translation\Translation;

$configs = [
    'type' => [
        'text' => '名字',
        'value' => [1 => '名字A', 2 => '名字B', 3 => '名字C']
    ],
];
$data = [
    'type' => 3
];
$tpl = '【:attribute】值为“:value”';
$tran = new Translation($configs, $tpl);
$tran->translate($data);
echo $tran->getTranslateString(); // 【名字】值为“名字C”
```

3、支持关联字段映射,解决字段复用问题

```
use Zclwy\Translation\Translation;

$configs = [
    'type' => [
        'text' => '名字',
        'value' => [1 => '名字A', 2 => '名字B', 3 => '名字C']
    ],
    'extra.jump_type' => [
        'text' => '类型',
        'value' => ['webview' => '网页类', 'download' => '下载类', 'deeplink' => '拉起应用',]
    ],
    'extra.url' => [
        'relevance' => [
            'type' => [
                1 => '跳转链接',
                2 => '下载链接',
                3 => [
                    'relevance' => [
                        'extra.jump_type' => [
                            'webview' => '广告链接',
                            'download' => '广告链接',
                            'deeplink' => '备用链接',
                        ]
                    ]
                ],
            ],
        ],
    ],
];
$data = [
    'type' => 3,
//    'extra' => '{"title":"标题111", "jump_type":"deeplink", "img":"图片地址", "deeplink":"deeplink://", "url":"http://www.baidu.com"}', // 支持json
    'extra' => json_decode('{"title":"标题111", "jump_type":"deeplink", "img":"图片地址", "deeplink":"deeplink://", "url":"http://www.baidu.com"}', true),
];
$tpl = '【:attribute】值为“:value”';
$tran = new Translation($configs, $tpl);
$tran->translate($data);
echo $tran->getTranslateString(); // 【名字】值为“名字C”;【跳转类型】值为“拉起应用类”;【广告链接】值为“http://www.baidu.com”
```

4、值映射支持callback

```
use Zclwy\Translation\Translation;

$configs = [
    'plan_id' => [
        'text' => '名称',
        'value' => function ($value, $attribute, $translation) {
            if (empty($value)) {
                return null;
            }
            // 查询
            $res = [
                [
                    'id' => 1,
                    'name' => '公告1',
                ],
                [
                    'id' => 2,
                    'name' => '公告2',
                ]
            ];
            $arr = array_column($res, 'name', 'id');
            return $arr[$value];
        }
    ],
];
$data = [
    'plan_id' => 1
];
$tpl = '【:attribute】值为“:value”';
$tran = new Translation($configs, $tpl);
$tran->translate($data);
echo $tran->getTranslateString();
```

5、支持新旧数据变更翻译

```
use Zclwy\Translation\Translation;

$configs = [
    'name' => '名称',
    'type' => [
        'text' => '类型',
        'value' => [1 => '资讯', 2 => '公告', 3 => '广告']
    ],
    'extra.title' => '标题',
    'extra.img' => '图片',
    'extra.deeplink' => 'deeplink',
    'extra.jump_type' => [
        'text' => '跳转类型',
        'value' => ['webview' => '网页类', 'download' => '下载类', 'deeplink' => '拉起应用类', 'noclick' => '不可点击']
    ],
    'extra.url' => [
        'relevance' => [
            'type' => [
                1 => '链接',
                2 => '链接',
                3 => [
                    'relevance' => [
                        'extra.jump_type' => [
                            'webview' => '广告链接',
                            'download' => '广告链接',
                            'deeplink' => '备用链接',
                        ]
                    ]
                ],
            ],
        ],
    ],
];
$data = [
    'name' => '内容',
    'type' => 3,
    'extra' => '{"title":"标题111", "jump_type":"deeplink", "img":"图片地址", "deeplink":"deeplink://", "url":"http://www.baidu.com"}',
];
$oldData = [
    'name' => '内容2',
    'type' => 2,
    'extra' => '{"title":"标题222", "img":"图片222://", "url":"http://www.baidu2222.com"}',
];

$tpl = '【:attribute】值由“:oldValue”改为“:value”';
$tran = new Translation($configs, $tpl);
$tran->translate($data, $oldData);
echo $tran->getTranslateString();
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

1439d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/19799642fc6b6aa96fae294137fefe2b290b0c488ab775f4a6400f959d9fb201?d=identicon)[zclwy](/maintainers/zclwy)

---

Top Contributors

[![zclwy](https://avatars.githubusercontent.com/u/9797668?v=4)](https://github.com/zclwy "zclwy (1 commits)")

---

Tags

translatetranslate field

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/zclwy-translation/health.svg)

```
[![Health](https://phpackages.com/badges/zclwy-translation/health.svg)](https://phpackages.com/packages/zclwy-translation)
```

###  Alternatives

[stichoza/google-translate-php

Free Google Translate API PHP Package

2.0k7.6M124](/packages/stichoza-google-translate-php)[gettext/languages

gettext languages with plural rules

7530.3M11](/packages/gettext-languages)[punic/punic

PHP-Unicode CLDR

1542.9M29](/packages/punic-punic)[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[optimistdigital/nova-translatable

A laravel-translatable extension for Laravel Nova.

202427.4k5](/packages/optimistdigital-nova-translatable)[outl1ne/nova-translatable

A laravel-translatable extension for Laravel Nova.

203416.9k8](/packages/outl1ne-nova-translatable)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
