scopeConfig->isSetFlag(self::XML_PATH_ENABLED, ScopeInterface::SCOPE_STORE); } public function getSourceLocale(): string { return trim((string)$this->scopeConfig->getValue(self::XML_PATH_SOURCE_LOCALE)) ?: 'en'; } public function getSourceStoreId(): int { return max(0, (int)$this->scopeConfig->getValue(self::XML_PATH_SOURCE_STORE_ID)); } /** * @return string[] */ public function getTranslatableAttributeCodes(): array { $raw = (string)$this->scopeConfig->getValue(self::XML_PATH_ATTRIBUTES); $codes = preg_split('/[\s,]+/', $raw) ?: []; return array_values(array_unique(array_filter(array_map('trim', $codes)))); } public function getLanguageGroupsConfig(): string { return (string)$this->scopeConfig->getValue(self::XML_PATH_LANGUAGE_GROUPS); } public function getApiBaseUrl(): string { return rtrim((string)$this->scopeConfig->getValue(self::XML_PATH_API_BASE_URL), '/'); } public function getApiKey(): string { $value = (string)$this->scopeConfig->getValue(self::XML_PATH_API_KEY); return $value !== '' ? $this->encryptor->decrypt($value) : ''; } public function getModel(): string { return trim((string)$this->scopeConfig->getValue(self::XML_PATH_MODEL)); } public function getTemperature(): float { return (float)$this->scopeConfig->getValue(self::XML_PATH_TEMPERATURE); } public function getTimeout(): int { return max(1, (int)$this->scopeConfig->getValue(self::XML_PATH_TIMEOUT)); } }