public function update(StoreProduct $request, Product $id): RedirectResponse 	{ 		$request->validate([ 			'slug_en' => ['required', 'string', 'max:50', new UniqueTranslatableField($id, $id->getSlugFieldName())], 			'slug_de' => ['required', 'string', 'max:50', new UniqueTranslatableField($id, $id->getSlugFieldName())], 			'slug_fr' => ['required', 'string', 'max:50', new UniqueTranslatableField($id, $id->getSlugFieldName())], 			'slug_es' => ['required', 'string', 'max:50', new UniqueTranslatableField($id, $id->getSlugFieldName())], 		]);  		$id->update([ 			'name' => [ 				'en' => preg_replace('/\s+/', ' ', (string) $request->name_en), 				'de' => preg_replace('/\s+/', ' ', (string) $request->name_de), 				'fr' => preg_replace('/\s+/', ' ', (string) $request->name_fr), 				'es' => preg_replace('/\s+/', ' ', (string) $request->name_es), 			], 			$id->getSlugFieldName() => [ 				'en' => $request->slug_en, 				'de' => $request->slug_de, 				'fr' => $request->slug_fr, 				'es' => $request->slug_es, 			], 			'price' => $request->price, 			'weight' => $request->weight, 			'category_id' => $request->category_id, 			'description' => [ 				'en' => $request->description_en, 				'de' => $request->description_de, 				'fr' => $request->description_fr, 				'es' => $request->description_es, 			], 			'details' => [ 				'en' => $request->details_en, 				'de' => $request->details_de, 				'fr' => $request->details_fr, 				'es' => $request->details_es, 			], 		]);  		if ($request->variants) { 			$id->productVariants()->whereNotIn('custom_doll_part_id', $request->variants)->delete();  			foreach ($request->variants as $variant_id) { 				$id->productVariants()->updateOrCreate([ 					'custom_doll_part_id' => $variant_id, 				]); 			} 		}  		$id->storage()->handle($request->media);  		return $this->redirectFromSave('products.list'); 	}