diff --git a/core/modules/locale/locale.install b/core/modules/locale/locale.install index 97f4327face7a456bc7e8b46fde454b1f0d5d368..4c995841a6445305a09c7f2c2141a80f16714c4e 100644 --- a/core/modules/locale/locale.install +++ b/core/modules/locale/locale.install @@ -21,6 +21,12 @@ function locale_install() { \Drupal::configFactory()->getEditable('locale.settings')->set('translation.path', $directory)->save(); } \Drupal::service('file_system')->prepareDirectory($directory, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS); + + $t_args = [ + ':translate_status' => base_path() . 'admin/reports/translations/check?destination=' . urlencode(base_path() . 'admin/reports/translations'), + ]; + $message = t('Check <a href=":translate_status">available translations</a> for your language(s).', $t_args); + \Drupal::messenger()->addStatus($message); } /** diff --git a/core/modules/locale/tests/src/Functional/LocaleInstallTest.php b/core/modules/locale/tests/src/Functional/LocaleInstallTest.php new file mode 100644 index 0000000000000000000000000000000000000000..776509cbc3a2daf21de7fbe46e70bb89881b51a2 --- /dev/null +++ b/core/modules/locale/tests/src/Functional/LocaleInstallTest.php @@ -0,0 +1,47 @@ +<?php + +declare(strict_types=1); +namespace Drupal\Tests\locale\Functional; + +use Drupal\Tests\BrowserTestBase; + +/** + * Test installation of Locale module. + * + * @group locale + */ +class LocaleInstallTest extends BrowserTestBase { + + /** + * {@inheritdoc} + */ + protected static $modules = [ + 'system', + 'file', + 'language', + ]; + + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + + /** + * Tests Locale install message. + */ + public function testLocaleInstallMessage(): void { + $admin_user = $this->drupalCreateUser([ + 'access administration pages', + 'administer modules', + ]); + $this->drupalLogin($admin_user); + + $edit = []; + $edit['modules[locale][enable]'] = 'locale'; + $this->drupalGet('admin/modules'); + $this->submitForm($edit, 'Install'); + + $this->assertSession()->statusMessageContains('available translations', 'status'); + } + +}