mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
Changing texts according to project
This commit is contained in:
parent
9733c8c7c3
commit
0d0361efb5
@ -65,7 +65,7 @@ return [
|
||||
'user' => [
|
||||
'title' => 'visiosoft.module.advs::section.user',
|
||||
'fields' => [
|
||||
'register_email_field',
|
||||
'register_email_field'
|
||||
],
|
||||
],
|
||||
'filter' => [
|
||||
@ -74,6 +74,12 @@ return [
|
||||
'hide_price_filter', 'hide_date_filter', 'hide_photo_filter', 'hide_map_filter', 'user_filter_limit'
|
||||
],
|
||||
],
|
||||
'translations' => [
|
||||
'title' => 'visiosoft.module.advs::section.translations',
|
||||
'fields' => [
|
||||
'override_text',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@ -325,4 +325,9 @@ return [
|
||||
'mode' => 'checkbox'
|
||||
],
|
||||
],
|
||||
'override_text' => [
|
||||
'type' => 'anomaly.field_type.tags',
|
||||
'bind' => 'override_text',
|
||||
'env' => 'OVERRIDE_TEXT',
|
||||
],
|
||||
];
|
||||
|
||||
@ -55,4 +55,5 @@ return [
|
||||
'option_configuration' => [
|
||||
'title' => 'Configuration',
|
||||
],
|
||||
'translations' => 'Translations',
|
||||
];
|
||||
|
||||
@ -197,4 +197,8 @@ return [
|
||||
'show_breadcrumb_when_creating_ad' => [
|
||||
'name' => 'Show Breadcrumb When Creating an Ad',
|
||||
],
|
||||
'override_text' => [
|
||||
'name' => 'Override Text',
|
||||
'instructions' => 'Old Value:New Value'
|
||||
],
|
||||
];
|
||||
|
||||
266
app/Lang/Loader.php
Normal file
266
app/Lang/Loader.php
Normal file
@ -0,0 +1,266 @@
|
||||
<?php namespace App\Lang;
|
||||
|
||||
use Anomaly\Streams\Platform\Addon\Addon;
|
||||
use Anomaly\Streams\Platform\Addon\AddonCollection;
|
||||
use Anomaly\Streams\Platform\Application\Application;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Translation\FileLoader;
|
||||
|
||||
/**
|
||||
* Class Loader
|
||||
*
|
||||
* @link http://pyrocms.com/
|
||||
* @author PyroCMS, Inc. <support@pyrocms.com>
|
||||
* @author Ryan Thompson <ryan@pyrocms.com>
|
||||
*/
|
||||
class Loader extends FileLoader
|
||||
{
|
||||
|
||||
/**
|
||||
* The runtime cache.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $disabled = [];
|
||||
|
||||
/**
|
||||
* The streams path.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $streams;
|
||||
|
||||
/**
|
||||
* The addon collection instance.
|
||||
*
|
||||
* @var AddonCollection
|
||||
*/
|
||||
protected $addons;
|
||||
|
||||
/**
|
||||
* The application instance.
|
||||
*
|
||||
* @var Application
|
||||
*/
|
||||
protected $application;
|
||||
|
||||
/**
|
||||
* Create a new Loader instance.
|
||||
*
|
||||
* @param Filesystem $files
|
||||
* @param string $path
|
||||
*/
|
||||
public function __construct(Filesystem $files, $path)
|
||||
{
|
||||
$this->streams = base_path('vendor/visiosoft/streams-platform/resources/lang');
|
||||
|
||||
$this->application = app(Application::class);
|
||||
$this->addons = app(AddonCollection::class);
|
||||
|
||||
parent::__construct($files, $path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a locale from a given path.
|
||||
*
|
||||
* Keep streams overrides in place
|
||||
* that are NOT namespaced cause
|
||||
* we're overriding Laravel's
|
||||
* base language files too.
|
||||
*
|
||||
* @param string $path
|
||||
* @param string $locale
|
||||
* @param string $group
|
||||
* @return array
|
||||
*/
|
||||
protected function loadPath($path, $locale, $group)
|
||||
{
|
||||
$lines = parent::loadPath($path, $locale, $group);
|
||||
|
||||
if ($path == $this->streams && $lines) {
|
||||
$lines = $this->loadAddonOverrides($lines, $locale, $group);
|
||||
$lines = $this->loadSystemOverrides($lines, $locale, $group);
|
||||
$lines = $this->loadApplicationOverrides($lines, $locale, $group);
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load namespaced overrides from
|
||||
* system AND application paths.
|
||||
*
|
||||
* @param array $lines
|
||||
* @param string $locale
|
||||
* @param string $group
|
||||
* @param string $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadNamespaceOverrides(array $lines, $locale, $group, $namespace)
|
||||
{
|
||||
/**
|
||||
* @deprecated since 1.6; Use manual loading or publishing.
|
||||
*/
|
||||
if (env('AUTOMATIC_ADDON_OVERRIDES', true)) {
|
||||
$lines = $this->loadAddonOverrides($lines, $locale, $group, $namespace);
|
||||
}
|
||||
|
||||
$lines = $this->loadSystemOverrides($lines, $locale, $group, $namespace);
|
||||
$lines = $this->loadApplicationOverrides($lines, $locale, $group, $namespace);
|
||||
|
||||
return parent::loadNamespaceOverrides($lines, $locale, $group, $namespace);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load system overrides.
|
||||
*
|
||||
* @param array $lines
|
||||
* @param $locale
|
||||
* @param $group
|
||||
* @param $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadSystemOverrides(array $lines, $locale, $group, $namespace = null)
|
||||
{
|
||||
if (!$namespace || $namespace == 'streams') {
|
||||
|
||||
$file = base_path("resources/streams/lang/{$locale}/{$group}.php");
|
||||
|
||||
if (is_dir(base_path("resources/streams/lang")) && $this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
if (str_is('*.*.*', $namespace)) {
|
||||
|
||||
list($vendor, $type, $slug) = explode('.', $namespace);
|
||||
|
||||
$file = base_path("resources/addons/{$vendor}/{$slug}-{$type}/lang/{$locale}/{$group}.php");
|
||||
|
||||
if (is_dir(base_path("resources/addons/{$vendor}/{$slug}-{$type}/lang")) && $this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load system overrides.
|
||||
*
|
||||
* @param array $lines
|
||||
* @param $locale
|
||||
* @param $group
|
||||
* @param $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadApplicationOverrides(array $lines, $locale, $group, $namespace = null)
|
||||
{
|
||||
if (!$namespace || $namespace == 'streams') {
|
||||
|
||||
$file = $this->application->getResourcesPath("streams/lang/{$locale}/{$group}.php");
|
||||
|
||||
if (is_dir($this->application->getResourcesPath("streams/lang")) && $this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
if (str_is('*.*.*', $namespace)) {
|
||||
|
||||
list($vendor, $type, $slug) = explode('.', $namespace);
|
||||
|
||||
$file = $this->application->getResourcesPath(
|
||||
"addons/{$vendor}/{$slug}-{$type}/lang/{$locale}/{$group}.php"
|
||||
);
|
||||
|
||||
if (
|
||||
is_dir($this->application->getResourcesPath("addons/{$vendor}/{$slug}-{$type}/lang"))
|
||||
&& $this->files->exists($file)
|
||||
) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
foreach (config()->get('override_text') as $override) {
|
||||
$override = explode(':', $override);
|
||||
|
||||
$lines = $this->findArrayValue($override[0],$override[1],$lines);
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
function replaceNewValue($find_value, $new_value, $arr)
|
||||
{
|
||||
if (is_array($arr)) {
|
||||
foreach ($arr as $key => $item) {
|
||||
$arr[$key] = $this->replaceNewValue($find_value, $new_value, $item);
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
if (strtolower($arr) == strtolower($find_value)) {
|
||||
return $new_value;
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function findArrayValue($find_value, $new_value, $arr)
|
||||
{
|
||||
foreach ($arr as $key => $item) {
|
||||
$arr[$key] = $this->replaceNewValue($find_value, $new_value, $item);
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param array $lines
|
||||
* @param $locale
|
||||
* @param $group
|
||||
* @param null $namespace
|
||||
* @return array
|
||||
*/
|
||||
protected function loadAddonOverrides(array $lines, $locale, $group, $namespace = null)
|
||||
{
|
||||
/** @var Addon $addon */
|
||||
foreach ($this->addons->enabled() as $addon) {
|
||||
|
||||
$disabled = array_get(self::$disabled, $key = $addon->getNamespace('streams'), false);
|
||||
|
||||
if (!$disabled && !$this->files->isDirectory($addon->getPath('resources/streams'))) {
|
||||
self::$disabled[$key] = $disabled = true;
|
||||
}
|
||||
|
||||
if (!$disabled && (!$namespace || $namespace == 'streams')) {
|
||||
|
||||
$file = $addon->getPath("resources/streams/lang/{$locale}/{$group}.php");
|
||||
|
||||
if ($this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
|
||||
$disabled = array_get(self::$disabled, $key = $addon->getNamespace('addons'), false);
|
||||
|
||||
if (!$disabled && !$this->files->isDirectory($addon->getPath('resources/addons'))) {
|
||||
self::$disabled[$key] = $disabled = true;
|
||||
}
|
||||
|
||||
if (!$disabled && str_is('*.*.*', $namespace)) {
|
||||
|
||||
list($vendor, $type, $slug) = explode('.', $namespace);
|
||||
|
||||
$file = $addon->getPath(
|
||||
"resources/addons/{$vendor}/{$slug}-{$type}/lang/{$locale}/{$group}.php"
|
||||
);
|
||||
|
||||
if ($this->files->exists($file)) {
|
||||
$lines = array_replace_recursive($lines, $this->files->getRequire($file));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $lines;
|
||||
}
|
||||
}
|
||||
45
app/Listeners/Translations.php
Executable file
45
app/Listeners/Translations.php
Executable file
@ -0,0 +1,45 @@
|
||||
<?php namespace App\Listeners;
|
||||
|
||||
use Anomaly\Streams\Platform\Event\Booted;
|
||||
use App\Lang\Loader;
|
||||
use Illuminate\Translation\Translator;
|
||||
|
||||
class Translations
|
||||
{
|
||||
|
||||
public function handle(Booted $event)
|
||||
{
|
||||
app()->singleton(
|
||||
'translation.loader',
|
||||
function ($application) {
|
||||
return new Loader($application['files'], $application['path.lang']);
|
||||
}
|
||||
);
|
||||
|
||||
app()->singleton(
|
||||
'translator',
|
||||
function ($application) {
|
||||
$loader = $application->make('translation.loader');
|
||||
|
||||
// When registering the translator component, we'll need to set the default
|
||||
// locale as well as the fallback locale. So, we'll grab the application
|
||||
// configuration so we can easily get both of these values from there.
|
||||
$locale = $application['config']['app.locale'];
|
||||
|
||||
$trans = new Translator($loader, $locale);
|
||||
|
||||
$trans->setFallback($application['config']['app.fallback_locale']);
|
||||
|
||||
return $trans;
|
||||
}
|
||||
);
|
||||
|
||||
if (defined('LOCALE')) {
|
||||
app()->setLocale(LOCALE);
|
||||
config()->set('app.locale', LOCALE);
|
||||
}
|
||||
// Set our locale namespace.
|
||||
app()->make('translator')->addNamespace('streams', realpath(__DIR__ . '/../../vendor/visiosoft/streams-platform/resources/lang'));
|
||||
|
||||
}
|
||||
}
|
||||
@ -13,7 +13,11 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'listeners' => [],
|
||||
'listeners' => [
|
||||
\Anomaly\Streams\Platform\Event\Booted::class => [
|
||||
\App\Listeners\Translations::class
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
Loading…
Reference in New Issue
Block a user