Issue #3406697 by alexpott, chr.fritsch: Fix notice in _install_prepare_import() due to alternate approach to translations
parent
503192fcfe
commit
220f04c200
|
@ -1792,8 +1792,9 @@ function _install_prepare_import($langcodes, $server_pattern) {
|
|||
if (is_object($file)) {
|
||||
$filename = $file->filename;
|
||||
preg_match('/drupal-([0-9a-z\.-]+)\.' . $langcode . '\.po/', $filename, $matches);
|
||||
// Get the version information.
|
||||
if ($version = $matches[1]) {
|
||||
// Get the version information. Custom translation files may not have a
|
||||
// version number.
|
||||
if (isset($matches[1]) && $version = $matches[1]) {
|
||||
$info = _install_get_version_info($version);
|
||||
// Picking the first file does not necessarily result in the right file. So
|
||||
// we check if at least the major version number is available.
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace Drupal\FunctionalTests\Installer;
|
||||
|
||||
use Drupal\Tests\BrowserTestBase;
|
||||
|
||||
/**
|
||||
* Tests non-standard named translation files get imported during install.
|
||||
*
|
||||
* @group Installer
|
||||
*/
|
||||
class InstallerTranslationNonStandardFilenamesTest extends InstallerTranslationMultipleLanguageNonInteractiveTest {
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function prepareEnvironment() {
|
||||
BrowserTestBase::prepareEnvironment();
|
||||
// Place custom local translations in the translations directory.
|
||||
mkdir(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations', 0777, TRUE);
|
||||
file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal.de.po', $this->getPo('de'));
|
||||
file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal.es.po', $this->getPo('es'));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function prepareSettings() {
|
||||
parent::prepareSettings();
|
||||
$settings['config']['locale.settings']['translation']['default_filename'] = (object) [
|
||||
'value' => '%project.%language.po',
|
||||
'required' => TRUE,
|
||||
];
|
||||
$settings['config']['locale.settings']['translation']['default_server_pattern'] = (object) [
|
||||
'value' => 'translations://%project.%language.po',
|
||||
'required' => TRUE,
|
||||
];
|
||||
$this->writeSettings($settings);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue