mirror of
https://github.com/getgrav/grav.git
synced 2026-07-08 11:51:27 +02:00
Merge branch 'develop' of https://github.com/pierrejoye/grav into pierrejoye-develop
This commit is contained in:
@@ -271,7 +271,8 @@ class Page implements PageInterface
|
||||
if ($exists) {
|
||||
$aPage = new Page();
|
||||
$aPage->init(new SplFileInfo($path), $languageExtension);
|
||||
|
||||
$aPage->route($this->route());
|
||||
$aPage->rawRoute($this->rawRoute());
|
||||
$route = $aPage->header()->routes['default'] ?? $aPage->rawRoute();
|
||||
if (!$route) {
|
||||
$route = $aPage->route();
|
||||
|
||||
@@ -1196,7 +1196,6 @@ abstract class Utils
|
||||
if (count($parts) > 0 && in_array($parts[0], $languages_enabled)) {
|
||||
return $parts[0];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,10 @@ $grav = function () {
|
||||
$grav = Grav::instance();
|
||||
$grav['config']->init();
|
||||
|
||||
// This must be set first before the other init
|
||||
$grav['config']->set('system.languages.supported', ['en', 'fr', 'vi']);
|
||||
$grav['config']->set('system.languages.default_lang', 'en');
|
||||
|
||||
foreach (array_keys($grav['setup']->getStreams()) as $stream) {
|
||||
@stream_wrapper_unregister($stream);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: Simple Page avec traduction
|
||||
---
|
||||
|
||||
Simple Page Content in English
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: Simple Page avec traduction
|
||||
---
|
||||
|
||||
Page Simple FR
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: Simple Page avec traduction
|
||||
---
|
||||
|
||||
Page Simple FR
|
||||
@@ -236,6 +236,31 @@ class PagesTest extends \Codeception\TestCase\Test
|
||||
self::assertSame('—-▸ Blog', $list['/blog']);
|
||||
}
|
||||
|
||||
public function testTranslatedLanguages(): void
|
||||
{
|
||||
/** @var UniformResourceLocator $locator */
|
||||
$locator = $this->grav['locator'];
|
||||
$folder = $locator->findResource('tests://');
|
||||
|
||||
$page = $this->pages->get($folder . '/fake/simple-site/user/pages/04.page-translated');
|
||||
$this->assertInstanceOf(PageInterface::class, $page);
|
||||
$translatedLanguages = $page->translatedLanguages();
|
||||
$this->assertIsArray($translatedLanguages);
|
||||
$this->assertSame(["en" => "/page-translated", "fr" => "/page-translated"], $translatedLanguages);
|
||||
}
|
||||
|
||||
public function testLongPathTranslatedLanguages(): void
|
||||
{
|
||||
/** @var UniformResourceLocator $locator */
|
||||
$locator = $this->grav['locator'];
|
||||
$folder = $locator->findResource('tests://');
|
||||
$page = $this->pages->get($folder . '/fake/simple-site/user/pages/05.translatedlong/part2');
|
||||
$this->assertInstanceOf(PageInterface::class, $page);
|
||||
$translatedLanguages = $page->translatedLanguages();
|
||||
$this->assertIsArray($translatedLanguages);
|
||||
$this->assertSame(["en" => "/translatedlong/part2", "fr" => "/translatedlong/part2"], $translatedLanguages);
|
||||
}
|
||||
|
||||
public function testGetTypes(): void
|
||||
{
|
||||
}
|
||||
|
||||
@@ -299,7 +299,9 @@ class UtilsTest extends \Codeception\TestCase\Test
|
||||
$oneLanguageNotEnabled = reset($languagesNotEnabled);
|
||||
|
||||
if (count($languagesEnabled)) {
|
||||
self::assertTrue(Utils::pathPrefixedByLangCode('/' . $languagesEnabled[0] . '/test'));
|
||||
$languageCodePathPrefix = Utils::pathPrefixedByLangCode('/' . $languagesEnabled[0] . '/test');
|
||||
$this->assertIsString($languageCodePathPrefix);
|
||||
$this->assertTrue(in_array($languageCodePathPrefix, $languagesEnabled));
|
||||
}
|
||||
|
||||
self::assertFalse(Utils::pathPrefixedByLangCode('/' . $oneLanguageNotEnabled . '/test'));
|
||||
|
||||
Reference in New Issue
Block a user