Esempio n. 1
0
 /**
  * Tests the __xn() function
  *
  * @return void
  */
 public function testPluralContextFunction()
 {
     I18n::translator('default', 'en_US', function () {
         $package = new Package('default');
         $package->setMessages(['letter' => ['_context' => ['character' => ['The letter {0}', 'The letters {0} and {1}'], 'communication' => ['She wrote a letter to {0}', 'She wrote a letter to {0} and {1}']]]]);
         return $package;
     });
     $this->assertEquals('The letters A and B', __xn('character', 'letter', 'letters', 2, ['A', 'B']));
     $this->assertEquals('The letter A', __xn('character', 'letter', 'letters', 1, ['A']));
     $this->assertEquals('She wrote a letter to Thomas and Sara', __xn('communication', 'letter', 'letters', 2, ['Thomas', 'Sara']));
     $this->assertEquals('She wrote a letter to Thomas', __xn('communication', 'letter', 'letters', 1, ['Thomas']));
 }
<?php

__('Translations extraction test');
tr('Translations extraction test');
__n('Singular', 'Plurals', 2);
__x('With a context', 'Singular');
__xn('With a context', 'Singular', 'Plurals', 2);