php - Laravel Language Translation Not loading at first route -
i have been working in localization project ,in app language translation files not loading in pages.i don't know wrong loadpath
function. in app user can change there language on profile section , changes works on same session.but when user logout , login app @ first user not seen his/her preferred language.
here code
protected function loadpath($path, $locale, $group) { if ( app::runninginconsole() ) { return parent::loadpath( $path, $locale, $group ); } $domain = get_subdomain(); $dir = "lang/{$locale}/{$domain}"; $key = $dir.'/'.$group.'.php'; if(\session::has($key)){ $results = \session::get($key); $d = json_encode($results); view::share('lang',$d); return $results; }else{ $this->s3 = app::make('aws')->factory(tenent_aws_config())->get('s3'); $domain = get_subdomain(); $bucket = "localbulkload"; $dir = "lang/{$locale}/{$domain}"; $langlist = $this->s3->getiterator('listobjects',[ "bucket" => $bucket, 'prefix' => "lang/$locale/{$domain}" ]); foreach ($langlist $langobject){ $object = $this->s3->getobject([ "bucket" => $bucket, "key" => $langobject['key'] ]); $key = $langobject['key']; $string = ($object['body']); $results = eval("?>$string"); \session::put($key,$results,60); } $info = $this->s3->doesobjectexist( $bucket, $dir . "/" . $group . ".php"); if ($info === false) { if($this->files->exists($full = "{$path}/template/{$group}.php")) { $results = $this->files->getrequire($full); $d = json_encode($results); view::share('lang',$d); return $results; } else{ $this->files->exists($full = "{$path}/en/{$group}.php"); $results = $this->files->getrequire($full); $d = json_encode($results); view::share('lang',$d); return $results; } } } return array(); }
how can solve this?
i found unwanted language files loading on function , remove them , load files on demand only.now working perfectly.here working code
protected function loadpath($path, $locale, $group) { if (app::runninginconsole()) { return parent::loadpath($path, $locale, $group); } $domain = get_subdomain(); $dir = "lang/{$locale}/{$domain}"; $key = $dir.'/'.$group.'.php'; if(\session::has($key)){ $results = \session::get($key); $d = json_encode($results); view::share('lang',$d); return $results; }else{ $this->s3 = app::make('aws')->factory(tenent_aws_config())->get('s3'); $domain = get_subdomain(); $bucket = "localbulkload"; $dir = "lang/{$locale}/{$domain}"; $info = $this->s3->doesobjectexist( $bucket, $dir . "/" . $group . ".php"); if($info ){ $object = $this->s3->getobject([ "bucket" => $bucket, "key" => $dir . "/" . $group . ".php" ]); $key = $object['key']; $string = ($object['body']); $results = eval("?>$string"); \session::put($key,$string); $d = json_encode($results); view::share('lang',$d); return $results; } else{ if($this->files->exists($full = "{$path}/template/{$group}.php")) { $results = $this->files->getrequire($full); $d = json_encode($results); view::share('lang',$d); return $results; } else{ $this->files->exists($full = "{$path}/en/{$group}.php"); $results = $this->files->getrequire($full); $d = json_encode($results); view::share('lang',$d); return $results; } } } return array(); }
Comments
Post a Comment