/** * */ public function import(Request $request) { Excel::filter('chunk')->load($request->only('file')['file'], 'UTF-8')->chunk(100, function ($language) { // Loop through all rows $language->each(function ($row) { $default = Locale::find(1); $locales = Locale::lists('id', 'name'); $langs = []; foreach ($row as $lang => $translation) { if (array_key_exists(ucfirst($lang), $locales->toArray())) { // if imported lang exist $ilang_id = $locales[ucfirst($lang)]; // if ($ilang_id == $default->id) { $langs[ucfirst($lang)]['translation'] = $translation; $langs[ucfirst($lang)]['id'] = $ilang_id; } else { $langs['child'][ucfirst($lang)]['translation'] = $translation; $langs['child'][ucfirst($lang)]['id'] = $ilang_id; } } } $new_trans = LocaleTranslation::firstOrNew(['locale_id' => $langs[$default->name]['id'], 'translation' => $langs[$default->name]['translation']]); $new_trans->save(); foreach ($langs['child'] as $cland => $ctrans) { $new_ctrans = LocaleTranslation::firstOrNew(['locale_id' => $ctrans['id'], 'translation_id' => $new_trans->id]); $new_ctrans->translation = $ctrans['translation']; $new_ctrans->save(); } }); }); return redirect()->route('admin.language.index')->withFlashSuccess('Imported'); }
public function updateTranslation(Request $request) { $lang_id = $request->get('lang_id'); //return $lang_id; die(); foreach ($lang_id as $id => $translation) { //return $id; die(); $translate = Translation::find($id); //return $translate;die(); if (!is_null($translate)) { //this is original or translated if (!is_null($translate->translation_id)) { //this is translated $original = $translate->original; } else { //this is original $original = $translate; } //return $original; die(); //$original->translated()->delete(); foreach ($translation as $lang => $string) { $locale = Locale::where('code', $lang)->first(); $child = Translation::firstOrNew(['locale_id' => $locale->id, 'translation_id' => $original->id]); $child->translation = $string; $child->original()->dissociate(); $child->locale()->dissociate(); $child->original()->associate($original); $child->locale()->associate($locale); $child->save(); } } else { $json['message'] = 'Something wrong!'; } } $json['status'] = true; $json['message'] = 'Translation updated!'; return json_encode($json); }