class TranslationsStream
Same name and namespace in other branches
- 10 core/modules/locale/src/StreamWrapper/TranslationsStream.php \Drupal\locale\StreamWrapper\TranslationsStream
- 11.x core/modules/locale/src/StreamWrapper/TranslationsStream.php \Drupal\locale\StreamWrapper\TranslationsStream
- 9 core/modules/locale/src/StreamWrapper/TranslationsStream.php \Drupal\locale\StreamWrapper\TranslationsStream
- 8.9.x core/modules/locale/src/StreamWrapper/TranslationsStream.php \Drupal\locale\StreamWrapper\TranslationsStream
Defines a Drupal translations (translations://) stream wrapper class.
Provides support for storing translation files.
Hierarchy
- class \Drupal\Core\StreamWrapper\LocalStream implements \Drupal\Core\StreamWrapper\StreamWrapperInterface
- class \Drupal\locale\StreamWrapper\TranslationsStream uses \Drupal\Core\StringTranslation\StringTranslationTrait extends \Drupal\Core\StreamWrapper\LocalStream
Expanded class hierarchy of TranslationsStream
4 files declare their use of TranslationsStream
- locale.install in core/
modules/ locale/ locale.install - Install, update, and uninstall functions for the Locale module.
- LocaleFileManager.php in core/
modules/ locale/ src/ File/ LocaleFileManager.php - LocaleFormHooks.php in core/
modules/ locale/ src/ Hook/ LocaleFormHooks.php - LocaleSettingsForm.php in core/
modules/ locale/ src/ Form/ LocaleSettingsForm.php
1 string reference to 'TranslationsStream'
- locale.services.yml in core/
modules/ locale/ locale.services.yml - core/modules/locale/locale.services.yml
1 service uses TranslationsStream
- stream_wrapper.translations in core/
modules/ locale/ locale.services.yml - Drupal\locale\StreamWrapper\TranslationsStream
File
-
core/
modules/ locale/ src/ StreamWrapper/ TranslationsStream.php, line 16
Namespace
Drupal\locale\StreamWrapperView source
class TranslationsStream extends LocalStream {
use StringTranslationTrait;
/**
* {@inheritdoc}
*/
public static function getType() {
return StreamWrapperInterface::LOCAL_HIDDEN;
}
/**
* {@inheritdoc}
*/
public function getName() {
return $this->t('Translation files');
}
/**
* {@inheritdoc}
*/
public function getDescription() {
return $this->t('Translation files');
}
/**
* {@inheritdoc}
*/
public function getDirectoryPath() {
return static::basePath();
}
/**
* phpcs:ignore Drupal.Files.LineLength
* Implements Drupal\Core\StreamWrapper\StreamWrapperInterface::getExternalUrl().
*
* @throws \LogicException
* PO files URL should not be public.
*/
public function getExternalUrl() {
throw new \LogicException('PO files URL should not be public.');
}
/**
* Returns the base path for translations://.
*
* @return string|null
* The base path for translations://.
*/
public static function basePath() {
if ($config_path = \Drupal::config('locale.settings')->get('translation.path')) {
return $config_path;
}
$file_system = \Drupal::service(FileSystemInterface::class);
$path = Settings::get('locale_translation_path', 'public://translations');
// Stream wrappers such as public:// must be resolved explicitly, fall back
// to the original path where realpath() fails.
if ($realpath = $file_system->realpath($path)) {
return $realpath;
}
return $path;
}
}
Members
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.