PHPackages                             infrajs/lang - 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. infrajs/lang

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

infrajs/lang
============

Поддержка мультиязычности

v1.0.10(4y ago)04436PHP

Since Dec 17Pushed 4y ago1 watchersCompare

[ Source](https://github.com/infrajs/lang)[ Packagist](https://packagist.org/packages/infrajs/lang)[ Docs](https://github.com/infrajs/lang)[ RSS](/packages/infrajs-lang/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (3)Dependencies (4)Versions (12)Used By (6)

Поддержка на сайте несколько языков
===================================

[](#поддержка-на-сайте-несколько-языков)

Поддержка 2х-буквыенного стандарта [ISO 639](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D1%8B_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2)

Добавляется параметр `lang` в окружение [infrajs/env](https://github.com/infrajs/env).

Реализована интеграция с шаблонами [infrajs/template](https://github.com/infrajs/template)

Установка через composer
------------------------

[](#установка-через-composer)

```
{
	"require":{
		"infrajs/lang":"~1"
	}
}

```

Использование
-------------

[](#использование)

`Lang.lang()` вернёт язык, который выбран пользователем на сайте `Lang.lang('user')` Может так сложиться, что у расширения user нет нужной локализации и по этому язык отдельного расширения может отличаться от выбранного языка для всего сайта.

Список поддерживаемых языков указывается в конфиге расширения. Язык по умолчанию указывается на случай если язык по умолчанию для сайта также не поддерживается.

```
{
	"lang":{
		"list":["ru","en"],
		"def":"ru"
	}
}

```

Ни есть в массиве extlang.list или язык выбранный по умолчанию для сайта или язык указанный в extlang.def. extlang - это объект описывающий настройки отдельного расширения сайта, содержащий два свойства list и def, которые зачастую выносятся в конфиг расширения.

Для удобного использовать требуется интеграция в конкретное расширение. Расширение перевода не содержит в себе перевода, нужен контекст.

Интеграция с расширением infrajs/user

```
	public static function lang($str = null)
	{
		if (is_null($str)) return Lang::name('user');
		return Lang::str('user',$str);
	}

```

Для дальнейшего использования в шаблонах `{User.lang(title)}` верёнт title на нужном языке при наличии перевода в папке расширения **i18n**

Если перевод делается на сервере в php скриптах, то выбранных язык нужно явно передавать в GET параметрах. Определять язык пользователяна сервере нельзя, так как это приведёт к проблема с кэшем.

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity70

Established project with proven stability

 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 ~173 days

Recently: every ~96 days

Total

11

Last Release

1751d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/341a8ef8a06866ad99b1bbcf0216fd8e331b076b1690a7d992c386192674b787?d=identicon)[akiyatkin](/maintainers/akiyatkin)

---

Top Contributors

[![akiyatkin](https://avatars.githubusercontent.com/u/953753?v=4)](https://github.com/akiyatkin "akiyatkin (17 commits)")

### Embed Badge

![Health badge](/badges/infrajs-lang/health.svg)

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

###  Alternatives

[smmoosavi/php-gettext

Wrapper for php-gettext by danilo segan. This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.

1926.6k1](/packages/smmoosavi-php-gettext)[laradevs/spanish

labels translated to spanish

166.7k](/packages/laradevs-spanish)

PHPackages © 2026

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