1
0
mirror of https://github.com/flarum/core.git synced 2025-10-16 09:16:06 +02:00
Files
php-flarum/src/Extend/Locales.php
2018-12-13 01:58:54 +01:00

62 lines
1.6 KiB
PHP

<?php
/*
* This file is part of Flarum.
*
* (c) Toby Zerner <toby.zerner@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Flarum\Extend;
use DirectoryIterator;
use Flarum\Extension\Extension;
use Flarum\Locale\LocaleManager;
use Illuminate\Contracts\Container\Container;
class Locales implements ExtenderInterface, LifecycleInterface
{
protected $directory;
public function __construct($directory)
{
$this->directory = $directory;
}
public function extend(Container $container, Extension $extension = null)
{
$container->resolving(
LocaleManager::class,
function (LocaleManager $locales) {
foreach (new DirectoryIterator($this->directory) as $file) {
if (! $file->isFile()) {
continue;
}
$extension = $file->getExtension();
if (! in_array($extension, ['yml', 'yaml'])) {
continue;
}
$locales->addTranslations(
$file->getBasename(".$extension"),
$file->getPathname()
);
}
}
);
}
public function onEnable(Container $container, Extension $extension)
{
$container->make(LocaleManager::class)->clearCache();
}
public function onDisable(Container $container, Extension $extension)
{
$container->make(LocaleManager::class)->clearCache();
}
}