2017 © Pedro Peláez
 

library twig-intl

Twig extension for php intl.

image

smmoosavi/twig-intl

Twig extension for php intl.

  • Wednesday, January 8, 2014
  • by smmoosavi
  • Repository
  • 1 Watchers
  • 2 Stars
  • 29 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

twig-intl

Twig extension for php intl., (*1)

How to Install

Using Composer

Create a composer.json file in your project root:, (*2)

{
    "require": {
        "smmoosavi/twig-intl": "dev-master"
    }
}

Then run the following composer command:, (*3)

$ php composer.phar install

Note: twig will be installed with twig-intl too., (*4)

How to use

Do everything required for twig and add the following line:, (*5)

$twig->addExtension(new \smmoosavi\util\twigintl\Extension_Intl('fa_IR', 'persian')); // use your locale and calendar

Now you can use lDateTime, lDate, lTime,lFormat, lNum in your template., (*6)

Complete example

<?php // test.php
require_once '../vendor/autoload.php';

// initializing twig
$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);


// initializing twig-php-gettext
$twig->addExtension(new \smmoosavi\util\twigintl\Extension_Intl('fa_IR', 'persian'));

// using of twig-php-gettext
$test_date = new DateTime();
echo $twig->render("{{ lDateTime(test_date) }}", array('test_date' => $test_date));

Reference

Functions

  • lDate(test_date)
  • lDateTime(test_date)
  • lTime(test_date)
  • lFormat(test_date)
  • lNum(number)

Filters

  • test_date|lDateTime
  • test_date|lDate
  • test_date|lTime
  • test_date|lFormat(format)
  • number|lNum

Tags

  • locale
  • endlocale

Examples

Template:, (*7)

functions:<br>
{{ lDateTime(test_date) }}<br>
{{ lTime(test_date) }}<br>
{{ lDate(test_date) }}<br>
{{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
{{lNum(3343.3) }}<br>
{{lNum(3343) }}<br>
{{lNum(-2) }}<br>
filters:<br>
{{ test_date|lDateTime }}<br>
{{ test_date|lTime }}<br>
{{ test_date|lDate }}<br>
{{ test_date|lFormat('y/M/d HH:mm (zzzz)') }}<br>
{{ 3343.3|lNum }}<br>
{{ 3343|lNum }}<br>
{{ (-2)|lNum }}<br>

Output:, (*8)

functions:<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰<br>
۱۶:۰۰:۰۸<br>
چهارشنبه ۱۸ دی ۱۳۹۲<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰ (وقت عادی ایران)<br>
۳٬۳۴۳٫۳<br>
۳٬۳۴۳<br>
-۲<br>
filters:<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰<br>
۱۶:۰۰:۰۸<br>
چهارشنبه ۱۸ دی ۱۳۹۲<br>
۱۳۹۲/۱۰/۱۸ ۱۶:۰۰ (وقت عادی ایران)<br>
۳٬۳۴۳٫۳<br>
۳٬۳۴۳<br>
-۲<br>

Template:, (*9)

ex1: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% locale -%}
    ex2: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR' -%}
    ex3: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR@persian' -%}
    ex4: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR@islamic@utc' -%}
    ex5: {{ lFormat(test_date,'EEEE d MMMM y HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'fa_IR@null@utc' -%}
    ex6: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}
{% locale 'null@null@utc' -%}
    ex7: {{ lFormat(test_date,'y/M/d HH:mm (zzzz)') }}<br>
     {{ lNum(3343.3) }}<br>
{% endlocale %}

Output:, (*10)

ex1: ۱۳۹۲/۱۰/۱۸ ۱۵:۰۸ (وقت عادی ایران)<br>
     ۳٬۳۴۳٫۳<br>
ex2: 2014/1/8 15:08 (Iran Standard Time)<br>
     3,343.3<br>
ex3: ۲۰۱۴/۱/۸ ۱۵:۰۸ (وقت عادی ایران)<br>
     ۳٬۳۴۳٫۳<br>
ex4: ۱۳۹۲/۱۰/۱۸ ۱۵:۰۸ (وقت عادی ایران)<br>
     ۳٬۳۴۳٫۳<br>
ex5: چهارشنبه ۷ ربیع الاول ۱۴۳۵ ۱۱:۳۸ (GMT)<br>
     ۳٬۳۴۳٫۳<br>
ex6: ۲۰۱۴/۱/۸ ۱۱:۳۸ (GMT)<br>
     ۳٬۳۴۳٫۳<br>
ex7: 2014/1/8 11:38 (GMT)<br>
     3,343.3<br>

TODO

enhance argument passing of locale tag., (*11)

The Versions

08/01 2014

dev-master

9999999-dev

Twig extension for php intl.

  Sources   Download

The Requires

 

by Seyyed Morteza Moosavi

08/01 2014

v0.0.01

0.0.01.0

Twig extension for php intl.

  Sources   Download

The Requires

 

by Seyyed Morteza Moosavi