2017 © Pedro Peláez
 

library lang

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

image

infrajs/lang

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

  • Thursday, February 1, 2018
  • by akiyatkin
  • Repository
  • 1 Watchers
  • 0 Stars
  • 64 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 14 % Grown

The README.md

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

Поддержка 2х-буквыенного стандарта ISO 639, (*1)

Добавляется параметр lang в окружение infrajs/env., (*2)

Реализована интеграция с шаблонами infrajs/template, (*3)

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

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

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

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

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

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

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

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

Интеграция с расширением infrajs/user, (*8)

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

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

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

The Versions

01/02 2018

dev-master

9999999-dev https://github.com/infrajs/lang

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

  Sources   Download

GPL3

The Requires

 

25/07 2017

1.0.2

1.0.2.0 https://github.com/infrajs/lang

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

  Sources   Download

GPL3

The Requires

 

20/12 2016

1.0.1

1.0.1.0 https://github.com/infrajs/lang

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

  Sources   Download

GPL3

The Requires

 

17/12 2016

1.0.0

1.0.0.0 https://github.com/infrajs/lang

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

  Sources   Download

GPL3

The Requires

  • template ~1
  • event ~1
  • env ~1
  • config ~1