Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0a2363e

Browse files
committed
rename TranslatorBag && Change constructor args
1 parent e62299b commit 0a2363e

11 files changed

+56
-57
lines changed

src/Symfony/Bridge/Twig/Tests/Extension/TranslationExtensionTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
use Symfony\Bridge\Twig\Extension\TranslationExtension;
1515
use Symfony\Component\Translation\Translator;
16-
use Symfony\Component\Translation\TranslatorBag;
16+
use Symfony\Component\Translation\ResourceTranslatorBag;
1717
use Symfony\Component\Translation\Loader\ArrayLoader;
1818

1919
class TranslationExtensionTest extends \PHPUnit_Framework_TestCase
@@ -203,6 +203,6 @@ protected function getTemplate($template, $translator = null)
203203

204204
private function getTranslator($locale, $loaders = array(), $resources = array())
205205
{
206-
return new Translator($locale, null, null, false, new TranslatorBag($loaders, $resources));
206+
return new Translator($locale, new ResourceTranslatorBag($loaders, $resources));
207207
}
208208
}

src/Symfony/Component/Translation/DataCollector/TranslationDataCollector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ private function sanitizeCollectedMessages($messages)
109109
$result[$messageId]['parameters'][] = $message['parameters'];
110110
}
111111

112-
$result[$messageId]['count']++;
112+
++$result[$messageId]['count'];
113113
}
114114

115115
unset($messages[$key]);

src/Symfony/Component/Translation/TranslatorBag.php renamed to src/Symfony/Component/Translation/ResourceTranslatorBag.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*
1919
* @author Abdellatif Ait boudad <[email protected]>
2020
*/
21-
class TranslatorBag implements TranslatorBagInterface, TranslatorBagIdentifiable
21+
class ResourceTranslatorBag implements TranslatorBagInterface
2222
{
2323
/**
2424
* @var MessageCatalogueInterface[]
@@ -118,14 +118,6 @@ public function getResources($locale)
118118
return isset($this->resources[$locale]) ? $this->resources[$locale] : array();
119119
}
120120

121-
/**
122-
* {@inheritdoc}
123-
*/
124-
public function getIdentifier()
125-
{
126-
return sha1(serialize($this->resources));
127-
}
128-
129121
private function loadResource($format, $resource, $locale, $domain)
130122
{
131123
$loaders = $this->getLoaders();

src/Symfony/Component/Translation/Tests/DataCollectorTranslatorTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Symfony\Component\Translation\Translator;
1515
use Symfony\Component\Translation\DataCollectorTranslator;
1616
use Symfony\Component\Translation\Loader\ArrayLoader;
17-
use Symfony\Component\Translation\TranslatorBag;
17+
use Symfony\Component\Translation\ResourceTranslatorBag;
1818
use Symfony\Component\Translation\FallbackTranslatorBag;
1919

2020
class DataCollectorTranslatorTest extends \PHPUnit_Framework_TestCase
@@ -101,9 +101,9 @@ private function createCollector()
101101

102102
private function getTranslator($locale, $loaders = array(), $resources = array(), $fallbackLocales = array())
103103
{
104-
$defaultTranslatorBag = new TranslatorBag($loaders, $resources);
104+
$defaultTranslatorBag = new ResourceTranslatorBag($loaders, $resources);
105105
$translatorBag = new FallbackTranslatorBag($fallbackLocales, $defaultTranslatorBag);
106106

107-
return new Translator($locale, null, null, false, $translatorBag);
107+
return new Translator($locale, $translatorBag);
108108
}
109109
}

src/Symfony/Component/Translation/Tests/FallbackTranslatorBagTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace Symfony\Component\Translation\Tests;
1313

1414
use Symfony\Component\Translation\Loader\ArrayLoader;
15-
use Symfony\Component\Translation\TranslatorBag;
15+
use Symfony\Component\Translation\ResourceTranslatorBag;
1616
use Symfony\Component\Translation\FallbackTranslatorBag;
1717

1818
class FallbackTranslatorBagTest extends \PHPUnit_Framework_TestCase
@@ -83,7 +83,7 @@ public function testLoadCatalogueWithFallbackLocale()
8383

8484
protected function getTranslatorBag($locales = array(), $loaders = array(), $resources = array())
8585
{
86-
$translatorBag = new TranslatorBag($loaders, $resources);
86+
$translatorBag = new ResourceTranslatorBag($loaders, $resources);
8787

8888
return new FallbackTranslatorBag($locales, $translatorBag);
8989
}

src/Symfony/Component/Translation/Tests/LegacyTranslatorTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Symfony\Component\Translation\Translator;
1515
use Symfony\Component\Translation\MessageSelector;
1616
use Symfony\Component\Translation\Loader\ArrayLoader;
17-
use Symfony\Component\Translation\TranslatorBag;
17+
use Symfony\Component\Translation\ResourceTranslatorBag;
1818
use Symfony\Component\Translation\FallbackTranslatorBag;
1919

2020
/**
@@ -30,9 +30,9 @@ public function testSetFallbackLocales()
3030
array('array', array('bar' => 'foobar'), 'fr'),
3131
);
3232

33-
$translatorBag = new TranslatorBag($loaders, $resources);
33+
$translatorBag = new ResourceTranslatorBag($loaders, $resources);
3434
$fallbackTranslatorBag = new FallbackTranslatorBag(array(), $translatorBag);
35-
$translator = new Translator('en', null, null, false, $fallbackTranslatorBag);
35+
$translator = new Translator('en', $fallbackTranslatorBag);
3636

3737
// force catalogue loading
3838
$translator->trans('bar');
@@ -48,9 +48,9 @@ public function testSetFallbackLocalesMultiple()
4848
array('array', array('foo' => 'foo (en)'), 'en'),
4949
array('array', array('bar' => 'bar (fr)'), 'fr'),
5050
);
51-
$translatorBag = new TranslatorBag($loaders, $resources);
51+
$translatorBag = new ResourceTranslatorBag($loaders, $resources);
5252
$fallbackTranslatorBag = new FallbackTranslatorBag(array(), $translatorBag);
53-
$translator = new Translator('en', null, null, false, $fallbackTranslatorBag);
53+
$translator = new Translator('en', $fallbackTranslatorBag);
5454

5555
// force catalogue loading
5656
$translator->trans('bar');
@@ -108,9 +108,9 @@ public function testAddResourceValidLocales($locale)
108108

109109
public function testAddResourceAfterTrans()
110110
{
111-
$translatorBag = new TranslatorBag(array('array' => new ArrayLoader()));
111+
$translatorBag = new ResourceTranslatorBag(array('array' => new ArrayLoader()));
112112
$fallbackTranslatorBag = new FallbackTranslatorBag(array('en'), $translatorBag);
113-
$translator = new Translator('fr', null, null, false, $fallbackTranslatorBag);
113+
$translator = new Translator('fr', $fallbackTranslatorBag);
114114

115115
$translatorBag->addResource('array', array('foo' => 'foofoo'), 'en');
116116
$this->assertEquals('foofoo', $translator->trans('foo'));

src/Symfony/Component/Translation/Tests/LoggingTranslatorTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Symfony\Component\Translation\Translator;
1515
use Symfony\Component\Translation\LoggingTranslator;
1616
use Symfony\Component\Translation\Loader\ArrayLoader;
17-
use Symfony\Component\Translation\TranslatorBag;
17+
use Symfony\Component\Translation\ResourceTranslatorBag;
1818
use Symfony\Component\Translation\FallbackTranslatorBag;
1919

2020
class LoggingTranslatorTest extends \PHPUnit_Framework_TestCase
@@ -59,9 +59,9 @@ public function testTransChoiceFallbackIsLogged()
5959

6060
private function getTranslator($locale, $loaders = array(), $resources = array(), $fallbackLocales = array())
6161
{
62-
$defaultTranslatorBag = new TranslatorBag($loaders, $resources);
62+
$defaultTranslatorBag = new ResourceTranslatorBag($loaders, $resources);
6363
$translatorBag = new FallbackTranslatorBag($fallbackLocales, $defaultTranslatorBag);
6464

65-
return new Translator($locale, null, null, false, $translatorBag);
65+
return new Translator($locale, $translatorBag);
6666
}
6767
}

src/Symfony/Component/Translation/Tests/TranslatorBagTest.php renamed to src/Symfony/Component/Translation/Tests/ResourceTranslatorBagTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313

1414
use Symfony\Component\Translation\Loader\ArrayLoader;
1515
use Symfony\Component\Translation\MessageCatalogue;
16-
use Symfony\Component\Translation\TranslatorBag;
16+
use Symfony\Component\Translation\ResourceTranslatorBag;
1717

18-
class TranslatorBagTest extends \PHPUnit_Framework_TestCase
18+
class ResourceTranslatorBagTest extends \PHPUnit_Framework_TestCase
1919
{
2020
/**
2121
* @dataProvider getInvalidLocalesTests
@@ -87,7 +87,7 @@ public function testLoadLocaleFile($format, $loader)
8787

8888
protected function getTranslatorBag($loaders = array(), $resources = array())
8989
{
90-
return new TranslatorBag($loaders, $resources);
90+
return new ResourceTranslatorBag($loaders, $resources);
9191
}
9292

9393
public function getInvalidLocalesTests()

src/Symfony/Component/Translation/Tests/TranslatorCacheTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use Symfony\Component\Translation\Loader\LoaderInterface;
1717
use Symfony\Component\Translation\Translator;
1818
use Symfony\Component\Translation\MessageCatalogue;
19-
use Symfony\Component\Translation\TranslatorBag;
19+
use Symfony\Component\Translation\ResourceTranslatorBag;
2020
use Symfony\Component\Translation\FallbackTranslatorBag;
2121
use Symfony\Component\Translation\CacheTranslatorBag;
2222

@@ -223,11 +223,11 @@ public function testRefreshCacheWhenResourcesAreNoLongerFresh()
223223

224224
protected function getTranslator($locale, $debug, $loaders = array(), $resources = array(), $fallbackLocales = array())
225225
{
226-
$defaultTranslatorBag = new TranslatorBag($loaders, $resources);
226+
$defaultTranslatorBag = new ResourceTranslatorBag($loaders, $resources);
227227
$fallbackTranslatorBag = new FallbackTranslatorBag($fallbackLocales, $defaultTranslatorBag);
228228
$translatorBag = new CacheTranslatorBag($this->tmpDir, $debug, $fallbackTranslatorBag);
229229

230-
return new Translator($locale, null, null, false, $translatorBag);
230+
return new Translator($locale, $translatorBag);
231231
}
232232

233233
protected function getCatalogue($locale, $messages, $resources = array())

src/Symfony/Component/Translation/Tests/TranslatorTest.php

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212
namespace Symfony\Component\Translation\Tests;
1313

1414
use Symfony\Component\Translation\Translator;
15-
use Symfony\Component\Translation\MessageSelector;
1615
use Symfony\Component\Translation\Loader\ArrayLoader;
1716
use Symfony\Component\Translation\MessageCatalogue;
18-
use Symfony\Component\Translation\TranslatorBag;
17+
use Symfony\Component\Translation\ResourceTranslatorBag;
1918
use Symfony\Component\Translation\FallbackTranslatorBag;
2019

2120
class TranslatorTest extends \PHPUnit_Framework_TestCase
@@ -26,29 +25,29 @@ class TranslatorTest extends \PHPUnit_Framework_TestCase
2625
*/
2726
public function testConstructorInvalidLocale($locale)
2827
{
29-
$translator = new Translator($locale, new MessageSelector());
28+
$translator = $this->getTranslator($locale);
3029
}
3130

3231
/**
3332
* @dataProvider getValidLocalesTests
3433
*/
3534
public function testConstructorValidLocale($locale)
3635
{
37-
$translator = new Translator($locale, new MessageSelector());
36+
$translator = $this->getTranslator($locale);
3837

3938
$this->assertEquals($locale, $translator->getLocale());
4039
}
4140

4241
public function testConstructorWithoutLocale()
4342
{
44-
$translator = new Translator(null, new MessageSelector());
43+
$translator = $this->getTranslator(null);
4544

4645
$this->assertNull($translator->getLocale());
4746
}
4847

4948
public function testSetGetLocale()
5049
{
51-
$translator = new Translator('en');
50+
$translator = $this->getTranslator('en');
5251

5352
$this->assertEquals('en', $translator->getLocale());
5453

@@ -62,7 +61,7 @@ public function testSetGetLocale()
6261
*/
6362
public function testSetInvalidLocale($locale)
6463
{
65-
$translator = new Translator('fr', new MessageSelector());
64+
$translator = $this->getTranslator('fr');
6665
$translator->setLocale($locale);
6766
}
6867

@@ -71,7 +70,7 @@ public function testSetInvalidLocale($locale)
7170
*/
7271
public function testSetValidLocale($locale)
7372
{
74-
$translator = new Translator($locale, new MessageSelector());
73+
$translator = $this->getTranslator($locale);
7574
$translator->setLocale($locale);
7675

7776
$this->assertEquals($locale, $translator->getLocale());
@@ -323,10 +322,10 @@ public function testTransChoiceFallbackWithNoTranslation()
323322

324323
protected function getTranslator($locale, $loaders = array(), $resources = array(), $fallbackLocales = array())
325324
{
326-
$defaultTranslatorBag = new TranslatorBag($loaders, $resources);
325+
$defaultTranslatorBag = new ResourceTranslatorBag($loaders, $resources);
327326
$translatorBag = new FallbackTranslatorBag($fallbackLocales, $defaultTranslatorBag);
328327

329-
return new Translator($locale, null, null, false, $translatorBag);
328+
return new Translator($locale, $translatorBag);
330329
}
331330
}
332331

src/Symfony/Component/Translation/Translator.php

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,27 +77,35 @@ class Translator implements TranslatorInterface, TranslatorBagInterface
7777
private $translatorBag;
7878

7979
/**
80-
* Constructor.
81-
*
82-
* @param string $locale The locale
83-
* @param MessageSelector|null $selector The message selector for pluralization
84-
* @param string|null $cacheDir The directory to use for the cache
85-
* Deprecated since version 2.8, to be removed in 3.0.
86-
* @param bool $debug Use cache in debug mode ?
87-
* Deprecated since version 2.8, to be removed in 3.0.
88-
* @param TranslatorBagInterface $translatorBag
80+
* @param string $locale The locale
81+
* @param TranslatorBagInterface|MessageSelector|null $translatorBag The TranslatorBagInterface or MessageSelector
82+
* @param MessageSelector|string|null $selector The MessageSelector or cache directory
83+
* @param bool $debug Use cache in debug mode ?
84+
* Deprecated since version 2.8, to be removed in 3.0.
8985
*
9086
* @throws \InvalidArgumentException If a locale contains invalid characters
9187
*
9288
* @api
9389
*/
94-
public function __construct($locale, MessageSelector $selector = null, $cacheDir = null, $debug = false, TranslatorBagInterface $translatorBag = null)
90+
public function __construct($locale, $translatorBag = null, $selector = null, $debug = false)
9591
{
9692
$this->setLocale($locale);
97-
$this->selector = $selector ?: new MessageSelector();
98-
$this->cacheDir = $cacheDir;
99-
$this->debug = $debug;
100-
$this->translatorBag = $translatorBag;
93+
94+
if ($translatorBag instanceof TranslatorBagInterface) {
95+
$this->translatorBag = $translatorBag;
96+
$this->selector = $selector ?: new MessageSelector();
97+
} else {
98+
@trigger_error('The '.__CLASS__.' constructor will require a TranslatorBagInterface for second parameter since 3.0.', E_USER_DEPRECATED);
99+
100+
// Parameters are shifted of one offset
101+
$this->selector = $translatorBag ?: new MessageSelector();
102+
$this->cacheDir = $selector;
103+
$this->debug = $debug;
104+
105+
if (!$this->selector instanceof MessageSelector) {
106+
throw new \InvalidArgumentException(sprintf('The message selector "%s" must be an instance of MessageSelector.', get_class($this->selector)));
107+
}
108+
}
101109
}
102110

103111
/**

0 commit comments

Comments
 (0)