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

Skip to content

Commit 7de4ec8

Browse files
committed
merged branch fabpot/translator-consistency (PR #7100)
This PR was merged into the master branch. Commits ------- 0ef08f5 [Translator] fixed inconsistency in Translator Discussion ---------- [2.3] [Translator] fixed inconsistency in Translator | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | n/a | License | MIT | Doc PR | n/a --------------------------------------------------------------------------- by stof at 2013-02-17T20:44:32Z shouldn't you make ``setFallbackLocale`` call ``setFallbackLocales`` ? --------------------------------------------------------------------------- by fabpot at 2013-02-18T14:04:39Z @stof: done --------------------------------------------------------------------------- by stof at 2013-02-18T14:18:10Z shoudn't you also update the place where the method is used (in FrameworkBundle probably) to use the non-deprecated one ?
2 parents e1b3ce7 + 0ef08f5 commit 7de4ec8

File tree

7 files changed

+53
-16
lines changed

7 files changed

+53
-16
lines changed

UPGRADE-3.0.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ UPGRADE FROM 2.x to 3.0
7979
$route->setSchemes('https');
8080
```
8181

82+
### Translator
83+
84+
* The `Translator::setFallbackLocale()` method has been removed in favor of
85+
`Translator::setFallbackLocales()`.
86+
8287
### Twig Bridge
8388

8489
* The `render` tag is deprecated in favor of the `render` function.

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
531531
// Use the "real" translator instead of the identity default
532532
$container->setAlias('translator', 'translator.default');
533533
$translator = $container->findDefinition('translator.default');
534-
$translator->addMethodCall('setFallbackLocale', array($config['fallback']));
534+
$translator->addMethodCall('setFallbackLocales', array($config['fallback']));
535535

536536
// Discover translation directories
537537
$dirs = array();

src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function testTransWithoutCaching()
4545
{
4646
$translator = $this->getTranslator($this->getLoader());
4747
$translator->setLocale('fr');
48-
$translator->setFallbackLocale(array('en', 'es'));
48+
$translator->setFallbackLocales(array('en', 'es'));
4949

5050
$this->assertEquals('foo (FR)', $translator->trans('foo'));
5151
$this->assertEquals('bar (EN)', $translator->trans('bar'));
@@ -59,7 +59,7 @@ public function testTransWithCaching()
5959
// prime the cache
6060
$translator = $this->getTranslator($this->getLoader(), array('cache_dir' => $this->tmpDir));
6161
$translator->setLocale('fr');
62-
$translator->setFallbackLocale(array('en', 'es'));
62+
$translator->setFallbackLocales(array('en', 'es'));
6363

6464
$this->assertEquals('foo (FR)', $translator->trans('foo'));
6565
$this->assertEquals('bar (EN)', $translator->trans('bar'));
@@ -71,7 +71,7 @@ public function testTransWithCaching()
7171
$loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface');
7272
$translator = $this->getTranslator($loader, array('cache_dir' => $this->tmpDir));
7373
$translator->setLocale('fr');
74-
$translator->setFallbackLocale(array('en', 'es'));
74+
$translator->setFallbackLocales(array('en', 'es'));
7575

7676
$this->assertEquals('foo (FR)', $translator->trans('foo'));
7777
$this->assertEquals('bar (EN)', $translator->trans('bar'));

src/Symfony/Component/Translation/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
CHANGELOG
22
=========
33

4+
2.3.0
5+
-----
6+
7+
* added Translator::getFallbackLocales()
8+
* deprecated Translator::setFallbackLocale() in favor of the new Translator::setFallbackLocales() method
9+
410
2.2.0
511
-----
612

src/Symfony/Component/Translation/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ translated strings from these including support for pluralization.
99
use Symfony\Component\Translation\Loader\ArrayLoader;
1010

1111
$translator = new Translator('fr_FR', new MessageSelector());
12-
$translator->setFallbackLocale('fr');
12+
$translator->setFallbackLocales(array('fr'));
1313
$translator->addLoader('array', new ArrayLoader());
1414
$translator->addResource('array', array(
1515
'Hello World!' => 'Bonjour',

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function testSetGetLocale()
2727
$this->assertEquals('fr', $translator->getLocale());
2828
}
2929

30-
public function testSetFallbackLocale()
30+
public function testSetFallbackLocales()
3131
{
3232
$translator = new Translator('en', new MessageSelector());
3333
$translator->addLoader('array', new ArrayLoader());
@@ -37,11 +37,11 @@ public function testSetFallbackLocale()
3737
// force catalogue loading
3838
$translator->trans('bar');
3939

40-
$translator->setFallbackLocale('fr');
40+
$translator->setFallbackLocales(array('fr'));
4141
$this->assertEquals('foobar', $translator->trans('bar'));
4242
}
4343

44-
public function testSetFallbackLocaleMultiple()
44+
public function testSetFallbackLocalesMultiple()
4545
{
4646
$translator = new Translator('en', new MessageSelector());
4747
$translator->addLoader('array', new ArrayLoader());
@@ -51,7 +51,7 @@ public function testSetFallbackLocaleMultiple()
5151
// force catalogue loading
5252
$translator->trans('bar');
5353

54-
$translator->setFallbackLocale(array('fr_FR', 'fr'));
54+
$translator->setFallbackLocales(array('fr_FR', 'fr'));
5555
$this->assertEquals('bar (fr)', $translator->trans('bar'));
5656
}
5757

@@ -62,7 +62,7 @@ public function testTransWithFallbackLocale()
6262
$translator->addResource('array', array('foo' => 'foofoo'), 'en_US');
6363
$translator->addResource('array', array('bar' => 'foobar'), 'en');
6464

65-
$translator->setFallbackLocale('en');
65+
$translator->setFallbackLocales(array('en'));
6666

6767
$this->assertEquals('foobar', $translator->trans('bar'));
6868
}
@@ -113,7 +113,7 @@ public function testTransWithFallbackLocaleTer()
113113
$translator->addResource('array', array('foo' => 'foo (en_US)'), 'en_US');
114114
$translator->addResource('array', array('bar' => 'bar (en)'), 'en');
115115

116-
$translator->setFallbackLocale(array('en_US', 'en'));
116+
$translator->setFallbackLocales(array('en_US', 'en'));
117117

118118
$this->assertEquals('foo (en_US)', $translator->trans('foo'));
119119
$this->assertEquals('bar (en)', $translator->trans('bar'));
@@ -122,7 +122,7 @@ public function testTransWithFallbackLocaleTer()
122122
public function testTransNonExistentWithFallback()
123123
{
124124
$translator = new Translator('fr', new MessageSelector());
125-
$translator->setFallbackLocale('en');
125+
$translator->setFallbackLocales(array('en'));
126126
$translator->addLoader('array', new ArrayLoader());
127127
$this->assertEquals('non-existent', $translator->trans('non-existent'));
128128
}
@@ -246,7 +246,7 @@ public function getTransChoiceTests()
246246
public function testTransChoiceFallback()
247247
{
248248
$translator = new Translator('ru', new MessageSelector());
249-
$translator->setFallbackLocale('en');
249+
$translator->setFallbackLocales(array('en'));
250250
$translator->addLoader('array', new ArrayLoader());
251251
$translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en');
252252

@@ -256,7 +256,7 @@ public function testTransChoiceFallback()
256256
public function testTransChoiceFallbackBis()
257257
{
258258
$translator = new Translator('ru', new MessageSelector());
259-
$translator->setFallbackLocale(array('en_US', 'en'));
259+
$translator->setFallbackLocales(array('en_US', 'en'));
260260
$translator->addLoader('array', new ArrayLoader());
261261
$translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en_US');
262262

@@ -269,7 +269,7 @@ public function testTransChoiceFallbackBis()
269269
public function testTransChoiceFallbackWithNoTranslation()
270270
{
271271
$translator = new Translator('ru', new MessageSelector());
272-
$translator->setFallbackLocale('en');
272+
$translator->setFallbackLocales(array('en'));
273273
$translator->addLoader('array', new ArrayLoader());
274274

275275
$this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10)));

src/Symfony/Component/Translation/Translator.php

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,40 @@ public function getLocale()
122122
*
123123
* @param string|array $locales The fallback locale(s)
124124
*
125+
* @deprecated since 2.3, to be removed in 3.0. Use setFallbackLocales() instead.
126+
*
125127
* @api
126128
*/
127129
public function setFallbackLocale($locales)
130+
{
131+
$this->setFallbackLocales(is_array($locales) ? $locales : array($locales))
132+
}
133+
134+
/**
135+
* Sets the fallback locales.
136+
*
137+
* @param array $locales The fallback locales
138+
*
139+
* @api
140+
*/
141+
public function setFallbackLocales(array $locales)
128142
{
129143
// needed as the fallback locales are linked to the already loaded catalogues
130144
$this->catalogues = array();
131145

132-
$this->fallbackLocales = is_array($locales) ? $locales : array($locales);
146+
$this->fallbackLocales = $locales;
147+
}
148+
149+
/**
150+
* Gets the fallback locales.
151+
*
152+
* @return array $locales The fallback locales
153+
*
154+
* @api
155+
*/
156+
public function getFallbackLocales()
157+
{
158+
return $this->fallbackLocales;
133159
}
134160

135161
/**

0 commit comments

Comments
 (0)