mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-30 11:35:59 +00:00
add cache for languages, make function to laravel translate
This commit is contained in:
@@ -279,8 +279,6 @@ class AppFunctionsController extends Controller
|
||||
return $lang->with('languageStrings')->first();
|
||||
});
|
||||
|
||||
// return $lang->with('languageStrings')->first();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ use App\FileManagerFolder;
|
||||
use App\User;
|
||||
use App\Setting;
|
||||
use App\Share;
|
||||
use App\Language;
|
||||
use App\LanguageString;
|
||||
use ByteUnits\Metric;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
@@ -802,3 +804,29 @@ function set_time_by_user_timezone($time)
|
||||
return Carbon::parse($time);
|
||||
|
||||
}
|
||||
|
||||
function _t($key)
|
||||
{
|
||||
if (Cache::has('language_strings')) {
|
||||
|
||||
//Check if cash has string
|
||||
$strings = Cache::get('language_strings')
|
||||
->languageStrings
|
||||
->toArray();
|
||||
|
||||
// Find the string by key
|
||||
foreach($strings as $string) {
|
||||
if($string['key'] === $key) {
|
||||
return $string['value'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$language = Language::whereLocale(get_setting('language'))
|
||||
->first();
|
||||
|
||||
// If cash dont have string return string from database
|
||||
return LanguageString::whereLangAndKey($language->locale, $key)
|
||||
->first()
|
||||
->value;
|
||||
}
|
||||
|
||||
+10
-2
@@ -5,6 +5,7 @@ namespace App;
|
||||
use App\LanguageString;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Language extends Model
|
||||
@@ -29,7 +30,13 @@ class Language extends Model
|
||||
});
|
||||
|
||||
static::deleting(function ($language) {
|
||||
$language->languageStrings()->delete();
|
||||
DB::table('language_strings')
|
||||
->where('lang', $language->locale)
|
||||
->delete();
|
||||
});
|
||||
|
||||
static::updated(function() {
|
||||
Cache::forget('language_strings');
|
||||
});
|
||||
|
||||
static::created(function ($language) {
|
||||
@@ -48,7 +55,8 @@ class Language extends Model
|
||||
|
||||
})->toArray();
|
||||
|
||||
DB::table('language_strings')->insert($strings);
|
||||
DB::table('language_strings')
|
||||
->insert($strings);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class LanguageString extends Model
|
||||
@@ -14,5 +15,14 @@ class LanguageString extends Model
|
||||
|
||||
protected $fillable = ['value' ,'key', 'lang'];
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::updated(function() {
|
||||
dd('test');
|
||||
// Cache::forget('language_strings');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user