‪TYPO3CMS  ‪main
TranslateViewHelperTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\DataProvider;
21 use PHPUnit\Framework\Attributes\Test;
32 use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest;
33 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
34 use TYPO3Fluid\Fluid\Core\ViewHelper\Exception;
35 use TYPO3Fluid\Fluid\View\TemplateView;
36 
37 final class ‪TranslateViewHelperTest extends FunctionalTestCase
38 {
40 
41  protected const ‪LANGUAGE_PRESETS = [
42  'EN' => ['id' => 0, 'title' => 'English', 'locale' => 'en_US.UTF8'],
43  'DE' => ['id' => 1, 'title' => 'Deutsch', 'locale' => 'de_DE.UTF8'],
44  ];
45 
46  protected array ‪$testExtensionsToLoad = [
47  'typo3/sysext/fluid/Tests/Functional/Fixtures/Extensions/test_translate',
48  ];
49 
50  #[Test]
52  {
53  $this->expectException(Exception::class);
54  $this->expectExceptionCode(1351584844);
55  $context = $this->get(RenderingContextFactory::class)->create();
56  $context->getTemplatePaths()->setTemplateSource('<f:translate />');
57  (new TemplateView($context))->render();
58  }
59 
60  #[Test]
62  {
63  $this->expectException(Exception::class);
64  $this->expectExceptionCode(1351584844);
65  $context = $this->get(RenderingContextFactory::class)->create();
66  $context->getTemplatePaths()->setTemplateSource('<f:translate default="myDefault" />');
67  (new TemplateView($context))->render();
68  }
69 
70  #[Test]
72  {
73  $this->expectException(\RuntimeException::class);
74  $this->expectExceptionCode(1639828178);
75  $context = $this->get(RenderingContextFactory::class)->create();
76  $context->getTemplatePaths()->setTemplateSource('<f:translate key="key1" />');
77  (new TemplateView($context))->render();
78  }
79 
80  public static function ‪renderReturnsStringInNonExtbaseContextDataProvider(): array
81  {
82  return [
83  'fallback to default attribute for not existing label' => [
84  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:iDoNotExist" default="myDefault" />',
85  'myDefault',
86  ],
87  'fallback to default attribute for static label' => [
88  '<f:translate key="static label" default="myDefault" />',
89  'myDefault',
90  ],
91  'fallback to child for not existing label' => [
92  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:iDoNotExist">myDefault</f:translate>',
93  'myDefault',
94  ],
95  'fallback to child for static label' => [
96  '<f:translate key="static label">myDefault</f:translate>',
97  'myDefault',
98  ],
99  'id and underscored extensionName given' => [
100  '<f:translate id="form.legend" extensionName="test_translate" />',
101  'Search form',
102  ],
103  'key and underscored extensionName given' => [
104  '<f:translate key="form.legend" extensionName="test_translate" />',
105  'Search form',
106  ],
107  'id and CamelCased extensionName given' => [
108  '<f:translate id="form.legend" extensionName="TestTranslate" />',
109  'Search form',
110  ],
111  'key and CamelCased extensionName given' => [
112  '<f:translate key="form.legend" extensionName="TestTranslate" />',
113  'Search form',
114  ],
115  'valid id and extensionName with default value given' => [
116  '<f:translate id="form.legend" extensionName="TestTranslate" default="myDefault" />',
117  'Search form',
118  ],
119  'invalid id and extensionName given with default value given' => [
120  '<f:translate key="invalid" extensionName="TestTranslate" default="myDefault" />',
121  'myDefault',
122  ],
123  'full LLL syntax for not existing label' => [
124  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:iDoNotExist" />',
125  '',
126  ],
127  'full LLL syntax for existing label' => [
128  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:form.legend" />',
129  'Search form',
130  ],
131  'full LLL syntax for existing label with arguments without given arguments' => [
132  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:shortcut.title" />',
133  '%s%s on page &quot;%s&quot; [%d]',
134  ],
135  'full LLL syntax for existing label with arguments with given arguments' => [
136  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:shortcut.title" arguments="{0: \"a\", 1: \"b\", 2: \"c\", 3: 13}"/>',
137  'ab on page &quot;c&quot; [13]',
138  ],
139  'empty string on invalid extension' => [
140  '<f:translate key="LLL:EXT:i_am_invalid/Resources/Private/Language/locallang.xlf:dummy" />',
141  '',
142  ],
143  'languageKey fallback to default when key is not localized to de' => [
144  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:not.localized.to.de" languageKey="de" />',
145  'EN label',
146  ],
147  'languageKey de when key is localized to de' => [
148  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de" languageKey="de" />',
149  'DE label',
150  ],
151  'languageKey de when key is not localized to de_at' => [
152  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de" languageKey="de_at" />',
153  'DE label',
154  ],
155  'languageKey de_at when key is localized to de_at' => [
156  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de_at" languageKey="de_at" />',
157  'DE_AT label',
158  ],
159  ];
160  }
161 
162  #[DataProvider('renderReturnsStringInNonExtbaseContextDataProvider')]
163  #[Test]
164  public function ‪renderReturnsStringInNonExtbaseContext(string $template, string $expected): void
165  {
166  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
167  $this->setUpBackendUser(1);
168  $context = $this->get(RenderingContextFactory::class)->create();
169  $context->getTemplatePaths()->setTemplateSource($template);
170  self::assertSame($expected, (new TemplateView($context))->render());
171  }
172 
173  public static function ‪fallbackChainInNonExtbaseContextDataProvider(): array
174  {
175  return [
176  'languageKey fallback to default when key is not localized to de' => [
177  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:not.localized.to.de" languageKey="de" />',
178  'EN label',
179  ],
180  'languageKey de when key is localized to de' => [
181  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de" languageKey="de" />',
182  'DE label',
183  ],
184  'languageKey de when key is not localized to de_ch' => [
185  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de" />',
186  'DE label',
187  ],
188  'languageKey de_at when key is localized to de_ch' => [
189  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de_ch" />',
190  'DE-CH label',
191  ],
192  'key + extensionName: languageKey fallback to default when key is not localized to de' => [
193  '<f:translate extensionName="test_translate" key="not.localized.to.de" languageKey="de" />',
194  'EN label',
195  ],
196  'key + extensionName: languageKey de when key is localized to de' => [
197  '<f:translate extensionName="test_translate" key="localized.to.de" languageKey="de" />',
198  'DE label',
199  ],
200  'key + extensionName: fallback to "de" when key is not localized to de_ch' => [
201  '<f:translate extensionName="test_translate" key="localized.to.de" />',
202  'DE label',
203  ],
204  'key + extensionName: find "de_ch" when key is localized to de_ch' => [
205  '<f:translate extensionName="test_translate" key="localized.to.de_ch" />',
206  'DE-CH label',
207  ],
208  ];
209  }
210 
215  #[DataProvider('fallbackChainInNonExtbaseContextDataProvider')]
216  #[Test]
217  public function ‪renderInNonExtbaseContextHandlesLocaleFromFrontendRequest(string $template, string $expected): void
218  {
219  $request = new ‪ServerRequest();
220  $request = $request
221  ->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_FE)
222  ->withAttribute('language', new ‪SiteLanguage(0, 'de_CH.utf8', new ‪Uri('https://example.ch/'), []));
223  $context = $this->get(RenderingContextFactory::class)->create();
224  $context->setRequest($request);
225  $context->getTemplatePaths()->setTemplateSource($template);
226  self::assertSame($expected, (new TemplateView($context))->render());
227  }
228 
229  #[Test]
231  {
232  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
233  $this->setUpBackendUser(1);
234  $context = $this->get(RenderingContextFactory::class)->create();
235  $context->getTemplatePaths()->setTemplateSource('<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de" languageKey="{myLocale}" />');
236  $templateView = new TemplateView($context);
237  $templateView->assign('myLocale', (new ‪Locales())->createLocale('de'));
238  self::assertSame('DE label', $templateView->render());
239  }
240 
241  #[Test]
243  {
244  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
245  $this->setUpBackendUser(1);
246  $context = $this->get(RenderingContextFactory::class)->create();
247  $context->getTemplatePaths()->setTemplateSource('<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de" languageKey="{myLocale}" />');
248  $templateView = new TemplateView($context);
249  $templateView->assign('myLocale', (new ‪Locales())->createLocale('de_at'));
250  self::assertSame('DE label', $templateView->render());
251  }
252 
253  #[Test]
255  {
256  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
257  $this->setUpBackendUser(1);
258  $context = $this->get(RenderingContextFactory::class)->create();
259  $context->getTemplatePaths()->setTemplateSource('<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:localized.to.de_at" languageKey="{myLocale}" />');
260  $templateView = new TemplateView($context);
261  $templateView->assign('myLocale', (new ‪Locales())->createLocale('de_at'));
262  self::assertSame('DE_AT label', $templateView->render());
263  }
264 
265  public static function ‪renderReturnsStringInExtbaseContextDataProvider(): array
266  {
267  return [
268  'key given for not existing label, fallback to child' => [
269  '<f:translate key="foo">hello world</f:translate>',
270  'hello world',
271  ],
272  'id given for not existing label, fallback to child' => [
273  '<f:translate id="foo">hello world</f:translate>',
274  'hello world',
275  ],
276  'fallback to default attribute for not existing label' => [
277  '<f:translate key="foo" default="myDefault" />',
278  'myDefault',
279  ],
280  'id given with existing label' => [
281  '<f:translate id="login.header" />',
282  'Login',
283  ],
284  'key given with existing label' => [
285  '<f:translate key="login.header" />',
286  'Login',
287  ],
288  'key given with existing label and arguments without given arguments' => [
289  '<f:translate key="shortcut.title" />',
290  '%s%s on page &quot;%s&quot; [%d]',
291  ],
292  'key given with existing label and arguments with given arguments' => [
293  '<f:translate key="shortcut.title" arguments="{0: \"a\", 1: \"b\", 2: \"c\", 3: 13}" />',
294  'ab on page &quot;c&quot; [13]',
295  ],
296  'id and extensionName given' => [
297  '<f:translate key="validator.string.notvalid" extensionName="test_translate" />',
298  'A valid string is expected.',
299  ],
300  'key and extensionName given' => [
301  '<f:translate key="validator.string.notvalid" extensionName="test_translate" />',
302  'A valid string is expected.',
303  ],
304  'full LLL syntax for not existing label' => [
305  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:iDoNotExist" />',
306  '',
307  ],
308  'full LLL syntax for existing label' => [
309  '<f:translate key="LLL:EXT:test_translate/Resources/Private/Language/locallang.xlf:login.header" />',
310  'Login',
311  ],
312  'empty string on invalid extension' => [
313  '<f:translate key="LLL:EXT:i_am_invalid/Resources/Private/Language/locallang.xlf:dummy" />',
314  '',
315  ],
316  'languageKey fallback to default when key is not localized to de' => [
317  '<f:translate key="not.localized.to.de" languageKey="de" />',
318  'EN label',
319  ],
320  'languageKey de when key is localized to de' => [
321  '<f:translate key="localized.to.de" languageKey="de" />',
322  'DE label',
323  ],
324  'fallback to de when key is not localized to de_at with explicit languageKey given' => [
325  '<f:translate key="localized.to.de" languageKey="de_at" />',
326  'DE label',
327  ],
328  'fallback to de when key is not localized to de_at without explicit languageKey given' => [
329  '<f:translate key="localized.to.de" />',
330  'DE label',
331  ],
332  'use direct "de_AT" label when key is localized to de_at with explicit languageKey given' => [
333  '<f:translate key="localized.to.de_at" languageKey="de_at" />',
334  'DE_AT label',
335  ],
336  'use direct "de_AT" label when key is localized to de_at without explicit languageKey given' => [
337  '<f:translate key="localized.to.de_at" />',
338  'DE_AT label',
339  ],
340  ];
341  }
342 
343  #[DataProvider('renderReturnsStringInExtbaseContextDataProvider')]
344  #[Test]
345  public function ‪renderReturnsStringInExtbaseContext(string $template, string $expected): void
346  {
347  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
348  $this->setUpBackendUser(1);
349  ‪$GLOBALS['BE_USER']->user['lang'] = 'de-AT';
350  $extbaseRequestParameters = new ‪ExtbaseRequestParameters();
351  $extbaseRequestParameters->setControllerExtensionName('test_translate');
352  $serverRequest = (new ‪ServerRequest())->withAttribute('extbase', $extbaseRequestParameters)->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_BE);
353  $extbaseRequest = (new ‪Request($serverRequest));
354  $context = $this->get(RenderingContextFactory::class)->create();
355  $context->getTemplatePaths()->setTemplateSource($template);
356  $context->setRequest($extbaseRequest);
357  self::assertSame($expected, (new TemplateView($context))->render());
358  }
359 
360  #[Test]
362  {
363  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
364  $this->setUpBackendUser(1);
365  $extbaseRequestParameters = new ‪ExtbaseRequestParameters();
366  $extbaseRequestParameters->setControllerExtensionName('test_translate');
367  $serverRequest = (new ‪ServerRequest())->withAttribute('extbase', $extbaseRequestParameters)->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_BE);
368  $extbaseRequest = (new ‪Request($serverRequest));
369  $context = $this->get(RenderingContextFactory::class)->create();
370  $context->getTemplatePaths()->setTemplateSource('<f:translate key="localized.to.de" languageKey="{myLocale}" />');
371  $context->setRequest($extbaseRequest);
372  $templateView = new TemplateView($context);
373  $templateView->assign('myLocale', (new ‪Locales())->createLocale('de'));
374  self::assertSame('DE label', $templateView->render());
375  }
376 
377  #[Test]
379  {
380  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
381  $this->setUpBackendUser(1);
382  $extbaseRequestParameters = new ‪ExtbaseRequestParameters();
383  $extbaseRequestParameters->setControllerExtensionName('test_translate');
384  $serverRequest = (new ‪ServerRequest())->withAttribute('extbase', $extbaseRequestParameters)->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_BE);
385  $extbaseRequest = (new ‪Request($serverRequest));
386  $context = $this->get(RenderingContextFactory::class)->create();
387  $context->getTemplatePaths()->setTemplateSource('<f:translate key="localized.to.de" languageKey="{myLocale}" />');
388  $context->setRequest($extbaseRequest);
389  $templateView = new TemplateView($context);
390  $templateView->assign('myLocale', (new ‪Locales())->createLocale('de_at'));
391  self::assertSame('DE label', $templateView->render());
392  }
393 
394  #[Test]
396  {
397  $this->importCSVDataSet(__DIR__ . '/../Fixtures/be_users.csv');
398  $this->setUpBackendUser(1);
399  $extbaseRequestParameters = new ‪ExtbaseRequestParameters();
400  $extbaseRequestParameters->setControllerExtensionName('test_translate');
401  $serverRequest = (new ‪ServerRequest())->withAttribute('extbase', $extbaseRequestParameters)->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_BE);
402  $extbaseRequest = (new ‪Request($serverRequest));
403  $context = $this->get(RenderingContextFactory::class)->create();
404  $context->getTemplatePaths()->setTemplateSource('<f:translate key="localized.to.de_at" languageKey="{myLocale}" />');
405  $context->setRequest($extbaseRequest);
406  $templateView = new TemplateView($context);
407  $templateView->assign('myLocale', (new ‪Locales())->createLocale('de_at'));
408  self::assertSame('DE_AT label', $templateView->render());
409  }
410 
411  #[Test]
413  {
414  $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
416  'test',
417  $this->‪buildSiteConfiguration(1, '/'),
418  );
419  (new ‪ConnectionPool())->getConnectionForTable('sys_template')->insert('sys_template', [
420  'pid' => 1,
421  'root' => 1,
422  'clear' => 1,
423  'config' => <<<EOT
424 page = PAGE
425 page.10 = EXTBASEPLUGIN
426 page.10 {
427  extensionName = TestTranslate
428  pluginName = Test
429 }
430 plugin.tx_testtranslate_test._LOCAL_LANG.default.localized\.to\.de = TypoScript default label
431 EOT
432  ]);
433  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(2));
434  self::assertStringContainsString('TypoScript default label', (string)$response->getBody());
435 
436  }
437 
438  #[Test]
439  public function renderInExtbaseFrontendContextHandlesLabelOverrideWithTypoScriptInLocalizedPage(): void
440  {
441  $this->importCSVDataSet(__DIR__ . '/../Fixtures/pages.csv');
442  $this->writeSiteConfiguration(
443  'test',
444  $this->buildSiteConfiguration(1, '/'),
445  [
446  $this->buildDefaultLanguageConfiguration('EN', '/'),
447  $this->buildLanguageConfiguration('DE', '/de/', ['EN']),
448  ]
449  );
450  (new ‪ConnectionPool())->getConnectionForTable('sys_template')->insert('sys_template', [
451  'pid' => 1,
452  'root' => 1,
453  'clear' => 1,
454  'config' => <<<EOT
455 page = PAGE
456 page.10 = EXTBASEPLUGIN
457 page.10 {
458  extensionName = TestTranslate
459  pluginName = Test
460 }
461 plugin.tx_testtranslate_test._LOCAL_LANG.de-DE.localized\.to\.de = TypoScript de label
462 EOT
463  ]);
464  $response = $this->executeFrontendSubRequest((new InternalRequest())->withPageId(2)->withLanguageId(1));
465  self::assertStringContainsString('TypoScript de label', (string)$response->getBody());
466 
467  }
468 }
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\fallbackChainInNonExtbaseContextDataProvider
‪static fallbackChainInNonExtbaseContextDataProvider()
Definition: TranslateViewHelperTest.php:172
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInNonExtbaseContextHandlesLocaleObjectAsLanguageKey
‪renderInNonExtbaseContextHandlesLocaleObjectAsLanguageKey()
Definition: TranslateViewHelperTest.php:229
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderThrowsExceptionIfOnlyDefaultValueIsGiven
‪renderThrowsExceptionIfOnlyDefaultValueIsGiven()
Definition: TranslateViewHelperTest.php:60
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder
Definition: SystemEnvironmentBuilder.php:41
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait
Definition: SiteBasedTestTrait.php:36
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderReturnsStringInNonExtbaseContext
‪renderReturnsStringInNonExtbaseContext(string $template, string $expected)
Definition: TranslateViewHelperTest.php:163
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\writeSiteConfiguration
‪writeSiteConfiguration(string $identifier, array $site=[], array $languages=[], array $errorHandling=[])
Definition: SiteBasedTestTrait.php:49
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder\REQUESTTYPE_BE
‪const REQUESTTYPE_BE
Definition: SystemEnvironmentBuilder.php:45
‪TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait\buildSiteConfiguration
‪buildSiteConfiguration(int $rootPageId, string $base='')
Definition: SiteBasedTestTrait.php:86
‪TYPO3\CMS\Core\Localization\Locales
Definition: Locales.php:36
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderReturnsStringInNonExtbaseContextDataProvider
‪static renderReturnsStringInNonExtbaseContextDataProvider()
Definition: TranslateViewHelperTest.php:79
‪TYPO3\CMS\Core\Http\Uri
Definition: Uri.php:30
‪TYPO3\CMS\Core\Site\Entity\SiteLanguage
Definition: SiteLanguage.php:27
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderReturnsStringInExtbaseContextDataProvider
‪static renderReturnsStringInExtbaseContextDataProvider()
Definition: TranslateViewHelperTest.php:264
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\LANGUAGE_PRESETS
‪const LANGUAGE_PRESETS
Definition: TranslateViewHelperTest.php:40
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderReturnsStringInExtbaseContext
‪renderReturnsStringInExtbaseContext(string $template, string $expected)
Definition: TranslateViewHelperTest.php:344
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInNonExtbaseContextHandlesLocaleFromFrontendRequest
‪renderInNonExtbaseContextHandlesLocaleFromFrontendRequest(string $template, string $expected)
Definition: TranslateViewHelperTest.php:216
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInExtbaseContextHandlesLocaleObjectAsLanguageKey
‪renderInExtbaseContextHandlesLocaleObjectAsLanguageKey()
Definition: TranslateViewHelperTest.php:360
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderThrowsExceptionInNonExtbaseContextWithoutExtensionNameAndDefaultValue
‪renderThrowsExceptionInNonExtbaseContextWithoutExtensionNameAndDefaultValue()
Definition: TranslateViewHelperTest.php:70
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInExtbaseFrontendContextHandlesLabelOverrideWithTypoScriptInDefaultLanguage
‪renderInExtbaseFrontendContextHandlesLabelOverrideWithTypoScriptInDefaultLanguage()
Definition: TranslateViewHelperTest.php:411
‪TYPO3\CMS\Core\Http\ServerRequest
Definition: ServerRequest.php:39
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\$testExtensionsToLoad
‪array $testExtensionsToLoad
Definition: TranslateViewHelperTest.php:45
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderThrowsExceptionIfNoKeyOrIdParameterIsGiven
‪renderThrowsExceptionIfNoKeyOrIdParameterIsGiven()
Definition: TranslateViewHelperTest.php:50
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest
Definition: TranslateViewHelperTest.php:38
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInNonExtbaseContextHandlesLocaleObjectAsLanguageKeyWithoutFallback
‪renderInNonExtbaseContextHandlesLocaleObjectAsLanguageKeyWithoutFallback()
Definition: TranslateViewHelperTest.php:253
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInExtbaseContextHandlesLocaleObjectAsLanguageKeyWithFallback
‪renderInExtbaseContextHandlesLocaleObjectAsLanguageKeyWithFallback()
Definition: TranslateViewHelperTest.php:377
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInNonExtbaseContextHandlesLocaleObjectAsLanguageKeyWithFallback
‪renderInNonExtbaseContextHandlesLocaleObjectAsLanguageKeyWithFallback()
Definition: TranslateViewHelperTest.php:241
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInExtbaseFrontendContextHandlesLabelOverrideWithTypoScriptInLocalizedPage
‪renderInExtbaseFrontendContextHandlesLabelOverrideWithTypoScriptInLocalizedPage()
Definition: TranslateViewHelperTest.php:438
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Fluid\Core\Rendering\RenderingContextFactory
Definition: RenderingContextFactory.php:51
‪TYPO3\CMS\Fluid\Tests\Functional\ViewHelpers\TranslateViewHelperTest\renderInExtbaseContextHandlesLocaleObjectAsLanguageKeyWithoutFallback
‪renderInExtbaseContextHandlesLocaleObjectAsLanguageKeyWithoutFallback()
Definition: TranslateViewHelperTest.php:394
‪TYPO3\CMS\Extbase\Mvc\ExtbaseRequestParameters
Definition: ExtbaseRequestParameters.php:35
‪TYPO3\CMS\Core\Database\ConnectionPool
Definition: ConnectionPool.php:46
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder\REQUESTTYPE_FE
‪const REQUESTTYPE_FE
Definition: SystemEnvironmentBuilder.php:43
‪TYPO3\CMS\Extbase\Mvc\Request
Definition: Request.php:35