You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
32 lines
1.1 KiB
2 years ago
|
<?php
|
||
|
|
||
|
use App\CentralLogics\Helpers;
|
||
|
use Illuminate\Support\Facades\App;
|
||
|
|
||
|
if (! function_exists('translate')) {
|
||
|
function translate($key, $replace = [])
|
||
|
{
|
||
|
$key = strpos($key, 'messages.') === 0?substr($key,9):$key;
|
||
|
$local = Helpers::default_lang();
|
||
|
App::setLocale($local);
|
||
|
try {
|
||
|
$lang_array = include(base_path('resources/lang/' . $local . '/messages.php'));
|
||
|
|
||
|
if (!array_key_exists($key, $lang_array)) {
|
||
|
$processed_key = str_replace('_', ' ', Helpers::remove_invalid_charcaters($key));
|
||
|
$lang_array[$key] = $processed_key;
|
||
|
$str = "<?php return " . var_export($lang_array, true) . ";";
|
||
|
file_put_contents(base_path('resources/lang/' . $local . '/messages.php'), $str);
|
||
|
$result = $processed_key;
|
||
|
} else {
|
||
|
$result = trans('messages.' . $key, $replace);
|
||
|
}
|
||
|
} catch (\Exception $exception) {
|
||
|
info($exception);
|
||
|
$result = trans('messages.' . $key, $replace);
|
||
|
}
|
||
|
|
||
|
return $result;
|
||
|
}
|
||
|
}
|