public function scopeLanguage($query, $language_id) { if (!is_integer($language_id)) { /** * Lets find the language id for this */ $language_id = Languages::whereIso($language_id)->first()->id; } return $query->whereLanguage_id($language_id); }
public static function generate($language = false) { $config = config('db-translator'); /** * First we get the list of languages and iterate for each one of them * to get the associated translations */ if ($language) { if (is_integer($language)) { $languages[] = Languages::find($language); } else { $languages = Languages::whereIso($language)->get(); } } else { $languages = Languages::whereStatus(1)->get(); } /** * Get the list of available variables in the database */ $variables = Intl::all(); $arr = []; foreach ($languages as $language) { /** * Lets generate a list of variables per language and * all translations associated */ foreach ($variables as $variable) { /** * Generate per group */ $trans = Translated::VarLang($variable->id, $language->id)->first()['translation']; $translation = $trans ? $trans : $variable->text; $arr[$language->iso][$variable->group][] = [md5($variable->text) . sha1($variable->text) => $translation]; } } foreach ($arr as $language => $values) { \File::deleteDirectory(base_path('resources/lang/vendor/dbtranslator/' . $language), true); foreach ($values as $group => $trans) { $file = "<?php\nreturn [\r\n"; foreach ($trans as $hash => $translated) { $save_value = str_replace('"', '\\"', array_values($translated)[0]); $file .= " \"" . array_keys($translated)[0] . "\" => \"" . $save_value . "\",\r\n"; } $file .= "];"; \Storage::disk($config['storage_driver'])->put($language . '/' . $group . '.php', $file); } } return true; }
function language_name() { $lang = Languages::whereIso(Lang::getLocale())->firstOrFail(); return $lang->name; }