public function validate(string $attribute, mixed $value, Closure $fail): void 	{ 		if (!($this->model instanceof HasTranslations)) { 			$fail('validation.custom.translated-instance')->translate(['attribute' => $attribute]);  			return; 		}  		$this->fieldName ??= $attribute;  		if (!method_exists($this->model, 'isTranslatableAttribute') || !$this->model->isTranslatableAttribute($this->fieldName)) { 			$fail('validation.custom.translated-field')->translate(['attribute' => $this->fieldName]);  			return; 		}  		$builder = $this->model::class::hasTranslatedField($this->fieldName, $value) 			->when($this->model->getKey(), function (Builder $query): void { 				$query->where($this->model->getKeyName(), '<>', $this->model->getKey()); 			});  		if ($builder->exists()) { 			$fail('validation.unique')->translate(['attribute' => $attribute]); 		} 	}