mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
refactor(azure): replace resourceName with baseURL and fix translations
This commit is contained in:
parent
47cbb06e3a
commit
723592d7ee
24 changed files with 89 additions and 88 deletions
|
|
@ -416,7 +416,7 @@ const basetenSchema = apiModelIdProviderModelSchema.extend({
|
|||
|
||||
const azureSchema = apiModelIdProviderModelSchema.extend({
|
||||
azureApiKey: z.string().optional(),
|
||||
azureResourceName: z.string().optional(),
|
||||
azureBaseUrl: z.string().optional(),
|
||||
azureDeploymentName: z.string().optional(),
|
||||
azureApiVersion: z.string().optional(),
|
||||
})
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ describe("AzureHandler", () => {
|
|||
beforeEach(() => {
|
||||
mockOptions = {
|
||||
azureApiKey: "test-api-key",
|
||||
azureResourceName: "test-resource",
|
||||
azureBaseUrl: "https://test-resource.openai.azure.com/openai",
|
||||
azureDeploymentName: "gpt-4o",
|
||||
azureApiVersion: "2024-08-01-preview",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,12 +35,13 @@ export class AzureHandler extends BaseProvider implements SingleCompletionHandle
|
|||
this.options = options
|
||||
|
||||
// Create the Azure provider using AI SDK
|
||||
// The @ai-sdk/azure package uses resourceName-based routing.
|
||||
// baseURL supports both classic Azure OpenAI resources
|
||||
// (.openai.azure.com) and newer AI Foundry resources
|
||||
// (.cognitiveservices.azure.com).
|
||||
// useDeploymentBasedUrls produces the universally compatible
|
||||
// /deployments/{id}/{path} URL shape that works on both classic
|
||||
// Azure OpenAI resources and newer AI Foundry resources.
|
||||
// /deployments/{id}/{path} URL shape.
|
||||
this.provider = createAzure({
|
||||
resourceName: options.azureResourceName ?? "",
|
||||
baseURL: options.azureBaseUrl ?? "",
|
||||
apiKey: options.azureApiKey, // Optional — Azure supports managed identity / Entra ID auth
|
||||
apiVersion: options.azureApiVersion ?? azureOpenAiDefaultApiVersion,
|
||||
useDeploymentBasedUrls: true,
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ export function checkExistKey(config: ProviderSettings | undefined) {
|
|||
}
|
||||
|
||||
// Azure supports managed identity / Entra ID auth (no API key needed).
|
||||
// Consider it configured if resource name or deployment name is set.
|
||||
// Consider it configured if base URL or deployment name is set.
|
||||
if (config.apiProvider === "azure") {
|
||||
return !!(config.azureResourceName || config.azureDeploymentName || config.azureApiKey)
|
||||
return !!(config.azureBaseUrl || config.azureDeploymentName || config.azureApiKey)
|
||||
}
|
||||
|
||||
// Check all secret keys from the centralized SECRET_STATE_KEYS array.
|
||||
|
|
|
|||
|
|
@ -30,14 +30,14 @@ export const Azure = ({ apiConfiguration, setApiConfigurationField }: AzureProps
|
|||
return (
|
||||
<>
|
||||
<VSCodeTextField
|
||||
value={apiConfiguration?.azureResourceName || ""}
|
||||
onInput={handleInputChange("azureResourceName")}
|
||||
placeholder={t("settings:placeholders.azureResourceName")}
|
||||
value={apiConfiguration?.azureBaseUrl || ""}
|
||||
onInput={handleInputChange("azureBaseUrl")}
|
||||
placeholder={t("settings:placeholders.azureBaseUrl")}
|
||||
className="w-full">
|
||||
<label className="block font-medium mb-1">{t("settings:providers.azureResourceName")}</label>
|
||||
<label className="block font-medium mb-1">{t("settings:providers.azureBaseUrl")}</label>
|
||||
</VSCodeTextField>
|
||||
<div className="text-sm text-vscode-descriptionForeground -mt-2">
|
||||
{t("settings:providers.azureResourceNameDescription")}
|
||||
{t("settings:providers.azureBaseUrlDescription")}
|
||||
</div>
|
||||
<VSCodeTextField
|
||||
value={apiConfiguration?.azureDeploymentName || ""}
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/ca/settings.json
generated
8
webview-ui/src/i18n/locales/ca/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Obtenir clau API de Baseten",
|
||||
"cerebrasApiKey": "Clau API de Cerebras",
|
||||
"getCerebrasApiKey": "Obtenir clau API de Cerebras",
|
||||
"azureResourceName": "Nom del recurs d'Azure",
|
||||
"azureResourceNameDescription": "El nom del teu recurs Azure OpenAI (p. ex. 'el-meu-recurs-openai').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "L'URL del punt d'accés d'Azure OpenAI. Es pot trobar al portal d'Azure a Claus i punt d'accés.",
|
||||
"azureDeploymentName": "Nom del desplegament d'Azure",
|
||||
"azureDeploymentNameDescription": "El nom del desplegament del model dins del recurs.",
|
||||
"azureApiKey": "Clau API d'Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "El model '{{model}}' no està permès per al proveïdor '{{provider}}' per la vostra organització",
|
||||
"profileInvalid": "Aquest perfil conté un proveïdor o model que no està permès per la vostra organització",
|
||||
"qwenCodeOauthPath": "Has de proporcionar una ruta vàlida de credencials OAuth",
|
||||
"azureResourceName": "Has de proporcionar un nom de recurs d'Azure.",
|
||||
"azureBaseUrl": "Has de proporcionar una URL base d'Azure.",
|
||||
"azureDeploymentName": "Has de proporcionar un nom de desplegament d'Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Introduïu l'ID del projecte...",
|
||||
"customArn": "Introduïu l'ARN (p. ex. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Introduïu l'URL base...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "p. ex. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/de/settings.json
generated
8
webview-ui/src/i18n/locales/de/settings.json
generated
|
|
@ -381,8 +381,8 @@
|
|||
"getBasetenApiKey": "Baseten API-Schlüssel erhalten",
|
||||
"cerebrasApiKey": "Cerebras API-Schlüssel",
|
||||
"getCerebrasApiKey": "Cerebras API-Schlüssel erhalten",
|
||||
"azureResourceName": "Azure Ressourcenname",
|
||||
"azureResourceNameDescription": "Der Name Ihrer Azure OpenAI-Ressource (z.B. 'meine-openai-ressource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Die Endpunkt-URL deines Azure OpenAI-Dienstes. Zu finden im Azure-Portal unter Schlüssel und Endpunkt.",
|
||||
"azureDeploymentName": "Azure Bereitstellungsname",
|
||||
"azureDeploymentNameDescription": "Der Name Ihrer Modellbereitstellung innerhalb der Ressource.",
|
||||
"azureApiKey": "Azure API-Schlüssel",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Modell '{{model}}' ist für Anbieter '{{provider}}' von deiner Organisation nicht erlaubt",
|
||||
"profileInvalid": "Dieses Profil enthält einen Anbieter oder ein Modell, das von deiner Organisation nicht erlaubt ist",
|
||||
"qwenCodeOauthPath": "Du musst einen gültigen OAuth-Anmeldedaten-Pfad angeben",
|
||||
"azureResourceName": "Du musst einen Azure-Ressourcennamen angeben.",
|
||||
"azureBaseUrl": "Du musst eine Azure-Basis-URL angeben.",
|
||||
"azureDeploymentName": "Du musst einen Azure-Bereitstellungsnamen angeben."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Projekt-ID eingeben...",
|
||||
"customArn": "ARN eingeben (z.B. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Basis-URL eingeben...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "z.B. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
|
|
@ -442,8 +442,8 @@
|
|||
"getBasetenApiKey": "Get Baseten API Key",
|
||||
"cerebrasApiKey": "Cerebras API Key",
|
||||
"getCerebrasApiKey": "Get Cerebras API Key",
|
||||
"azureResourceName": "Azure Resource Name",
|
||||
"azureResourceNameDescription": "The name of your Azure OpenAI resource (e.g., 'my-openai-resource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Your Azure OpenAI endpoint URL. Found in the Azure portal under Keys & Endpoint.",
|
||||
"azureDeploymentName": "Azure Deployment Name",
|
||||
"azureDeploymentNameDescription": "The name of your model deployment within the resource.",
|
||||
"azureApiKey": "Azure API Key",
|
||||
|
|
@ -1022,7 +1022,7 @@
|
|||
"modelNotAllowed": "Model '{{model}}' is not allowed for provider '{{provider}}' by your organization",
|
||||
"profileInvalid": "This profile contains a provider or model that is not allowed by your organization",
|
||||
"qwenCodeOauthPath": "You must provide a valid OAuth credentials path.",
|
||||
"azureResourceName": "You must provide an Azure resource name.",
|
||||
"azureBaseUrl": "You must provide an Azure base URL.",
|
||||
"azureDeploymentName": "You must provide an Azure deployment name."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -1036,7 +1036,7 @@
|
|||
"projectId": "Enter Project ID...",
|
||||
"customArn": "Enter ARN (e.g. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Enter base URL...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "e.g. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/es/settings.json
generated
8
webview-ui/src/i18n/locales/es/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Obtener clave API de Baseten",
|
||||
"cerebrasApiKey": "Clave API de Cerebras",
|
||||
"getCerebrasApiKey": "Obtener clave API de Cerebras",
|
||||
"azureResourceName": "Nombre del recurso Azure",
|
||||
"azureResourceNameDescription": "El nombre de tu recurso Azure OpenAI (ej. 'mi-recurso-openai').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "La URL del endpoint de Azure OpenAI. Se encuentra en el portal de Azure en Claves y punto de conexión.",
|
||||
"azureDeploymentName": "Nombre del despliegue Azure",
|
||||
"azureDeploymentNameDescription": "El nombre del despliegue de tu modelo dentro del recurso.",
|
||||
"azureApiKey": "Clave API de Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "El modelo '{{model}}' no está permitido para el proveedor '{{provider}}' por su organización",
|
||||
"profileInvalid": "Este perfil contiene un proveedor o modelo que no está permitido por su organización",
|
||||
"qwenCodeOauthPath": "Debes proporcionar una ruta válida de credenciales OAuth",
|
||||
"azureResourceName": "Debes proporcionar un nombre de recurso de Azure.",
|
||||
"azureBaseUrl": "Debes proporcionar una URL base de Azure.",
|
||||
"azureDeploymentName": "Debes proporcionar un nombre de despliegue de Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Ingrese ID del proyecto...",
|
||||
"customArn": "Ingrese ARN (ej. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Ingrese URL base...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "ej. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/fr/settings.json
generated
8
webview-ui/src/i18n/locales/fr/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Obtenir la clé API Baseten",
|
||||
"cerebrasApiKey": "Clé API Cerebras",
|
||||
"getCerebrasApiKey": "Obtenir la clé API Cerebras",
|
||||
"azureResourceName": "Nom de la ressource Azure",
|
||||
"azureResourceNameDescription": "Le nom de votre ressource Azure OpenAI (ex. 'ma-ressource-openai').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "L'URL du point de terminaison Azure OpenAI. Disponible dans le portail Azure sous Clés et point de terminaison.",
|
||||
"azureDeploymentName": "Nom du déploiement Azure",
|
||||
"azureDeploymentNameDescription": "Le nom du déploiement de votre modèle dans la ressource.",
|
||||
"azureApiKey": "Clé API Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Le modèle '{{model}}' n'est pas autorisé pour le fournisseur '{{provider}}' par votre organisation",
|
||||
"profileInvalid": "Ce profil contient un fournisseur ou un modèle qui n'est pas autorisé par votre organisation",
|
||||
"qwenCodeOauthPath": "Tu dois fournir un chemin valide pour les identifiants OAuth",
|
||||
"azureResourceName": "Tu dois fournir un nom de ressource Azure.",
|
||||
"azureBaseUrl": "Tu dois fournir une URL de base Azure.",
|
||||
"azureDeploymentName": "Tu dois fournir un nom de déploiement Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Saisissez l'ID du projet...",
|
||||
"customArn": "Saisissez l'ARN (ex. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Saisissez l'URL de base...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "ex. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/hi/settings.json
generated
8
webview-ui/src/i18n/locales/hi/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Baseten API कुंजी प्राप्त करें",
|
||||
"cerebrasApiKey": "Cerebras API कुंजी",
|
||||
"getCerebrasApiKey": "Cerebras API कुंजी प्राप्त करें",
|
||||
"azureResourceName": "Azure रिसोर्स नाम",
|
||||
"azureResourceNameDescription": "आपके Azure OpenAI रिसोर्स का नाम (उदा. 'my-openai-resource')।",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "आपके Azure OpenAI एंडपॉइंट का URL। Azure पोर्टल में Keys & Endpoint के अंतर्गत उपलब्ध।",
|
||||
"azureDeploymentName": "Azure डिप्लॉयमेंट नाम",
|
||||
"azureDeploymentNameDescription": "रिसोर्स के अंदर आपके मॉडल डिप्लॉयमेंट का नाम।",
|
||||
"azureApiKey": "Azure API कुंजी",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "मॉडल '{{model}}' प्रदाता '{{provider}}' के लिए आपके संगठन द्वारा अनुमत नहीं है",
|
||||
"profileInvalid": "इस प्रोफ़ाइल में एक प्रदाता या मॉडल शामिल है जो आपके संगठन द्वारा अनुमत नहीं है",
|
||||
"qwenCodeOauthPath": "आपको एक वैध OAuth क्रेडेंशियल पथ प्रदान करना होगा",
|
||||
"azureResourceName": "आपको एक Azure संसाधन नाम प्रदान करना होगा।",
|
||||
"azureBaseUrl": "आपको एक Azure base URL प्रदान करना होगा।",
|
||||
"azureDeploymentName": "आपको एक Azure परिनियोजन नाम प्रदान करना होगा।"
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "प्रोजेक्ट ID दर्ज करें...",
|
||||
"customArn": "ARN दर्ज करें (उदा. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "बेस URL दर्ज करें...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "उदा. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/id/settings.json
generated
8
webview-ui/src/i18n/locales/id/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Dapatkan Baseten API Key",
|
||||
"cerebrasApiKey": "Cerebras API Key",
|
||||
"getCerebrasApiKey": "Dapatkan Cerebras API Key",
|
||||
"azureResourceName": "Nama Resource Azure",
|
||||
"azureResourceNameDescription": "Nama resource Azure OpenAI Anda (contoh: 'my-openai-resource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "URL endpoint Azure OpenAI kamu. Dapat ditemukan di portal Azure di bagian Keys & Endpoint.",
|
||||
"azureDeploymentName": "Nama Deployment Azure",
|
||||
"azureDeploymentNameDescription": "Nama deployment model dalam resource.",
|
||||
"azureApiKey": "Azure API Key",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Model '{{model}}' tidak diizinkan untuk provider '{{provider}}' oleh organisasi kamu",
|
||||
"profileInvalid": "Profil ini berisi provider atau model yang tidak diizinkan oleh organisasi kamu",
|
||||
"qwenCodeOauthPath": "Kamu harus memberikan jalur kredensial OAuth yang valid",
|
||||
"azureResourceName": "Kamu harus memberikan nama sumber daya Azure.",
|
||||
"azureBaseUrl": "Kamu harus memberikan base URL Azure.",
|
||||
"azureDeploymentName": "Kamu harus memberikan nama deployment Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Masukkan Project ID...",
|
||||
"customArn": "Masukkan ARN (misalnya arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Masukkan base URL...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "misalnya meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/it/settings.json
generated
8
webview-ui/src/i18n/locales/it/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Ottieni chiave API Baseten",
|
||||
"cerebrasApiKey": "Chiave API Cerebras",
|
||||
"getCerebrasApiKey": "Ottieni chiave API Cerebras",
|
||||
"azureResourceName": "Nome risorsa Azure",
|
||||
"azureResourceNameDescription": "Il nome della tua risorsa Azure OpenAI (es. 'mia-risorsa-openai').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "L'URL dell'endpoint Azure OpenAI. Si trova nel portale Azure in Chiavi ed endpoint.",
|
||||
"azureDeploymentName": "Nome distribuzione Azure",
|
||||
"azureDeploymentNameDescription": "Il nome della distribuzione del modello all'interno della risorsa.",
|
||||
"azureApiKey": "Chiave API Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Il modello '{{model}}' non è consentito per il fornitore '{{provider}}' dalla tua organizzazione.",
|
||||
"profileInvalid": "Questo profilo contiene un fornitore o un modello non consentito dalla tua organizzazione.",
|
||||
"qwenCodeOauthPath": "Devi fornire un percorso valido per le credenziali OAuth",
|
||||
"azureResourceName": "Devi fornire un nome risorsa Azure.",
|
||||
"azureBaseUrl": "Devi fornire un URL base di Azure.",
|
||||
"azureDeploymentName": "Devi fornire un nome distribuzione Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Inserisci ID progetto...",
|
||||
"customArn": "Inserisci ARN (es. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Inserisci URL base...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "es. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/ja/settings.json
generated
8
webview-ui/src/i18n/locales/ja/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Baseten APIキーを取得",
|
||||
"cerebrasApiKey": "Cerebras APIキー",
|
||||
"getCerebrasApiKey": "Cerebras APIキーを取得",
|
||||
"azureResourceName": "Azureリソース名",
|
||||
"azureResourceNameDescription": "Azure OpenAIリソースの名前(例:'my-openai-resource')。",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Azure OpenAIのエンドポイントURL。Azureポータルの「キーとエンドポイント」で確認できます。",
|
||||
"azureDeploymentName": "Azureデプロイメント名",
|
||||
"azureDeploymentNameDescription": "リソース内のモデルデプロイメントの名前。",
|
||||
"azureApiKey": "Azure APIキー",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "モデル「{{model}}」はプロバイダー「{{provider}}」に対して組織によって許可されていません",
|
||||
"profileInvalid": "このプロファイルには、組織によって許可されていないプロバイダーまたはモデルが含まれています",
|
||||
"qwenCodeOauthPath": "有効なOAuth認証情報のパスを提供する必要があります",
|
||||
"azureResourceName": "Azureリソース名を入力してください。",
|
||||
"azureBaseUrl": "AzureのベースURLを入力してください。",
|
||||
"azureDeploymentName": "Azureデプロイメント名を入力してください。"
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "プロジェクト ID を入力...",
|
||||
"customArn": "ARN を入力(例:arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "ベース URL を入力...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "例:meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/ko/settings.json
generated
8
webview-ui/src/i18n/locales/ko/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Baseten API 키 가져오기",
|
||||
"cerebrasApiKey": "Cerebras API 키",
|
||||
"getCerebrasApiKey": "Cerebras API 키 가져오기",
|
||||
"azureResourceName": "Azure 리소스 이름",
|
||||
"azureResourceNameDescription": "Azure OpenAI 리소스 이름 (예: 'my-openai-resource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Azure OpenAI 엔드포인트 URL입니다. Azure 포털의 키 및 엔드포인트에서 확인할 수 있습니다.",
|
||||
"azureDeploymentName": "Azure 배포 이름",
|
||||
"azureDeploymentNameDescription": "리소스 내 모델 배포 이름.",
|
||||
"azureApiKey": "Azure API 키",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "모델 '{{model}}'은 제공자 '{{provider}}'에 대해 조직에서 허용되지 않습니다",
|
||||
"profileInvalid": "이 프로필에는 조직에서 허용되지 않는 제공자 또는 모델이 포함되어 있습니다",
|
||||
"qwenCodeOauthPath": "유효한 OAuth 자격 증명 경로를 제공해야 합니다",
|
||||
"azureResourceName": "Azure 리소스 이름을 입력해야 합니다.",
|
||||
"azureBaseUrl": "Azure 기본 URL을 입력해야 합니다.",
|
||||
"azureDeploymentName": "Azure 배포 이름을 입력해야 합니다."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "프로젝트 ID 입력...",
|
||||
"customArn": "ARN 입력 (예: arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "기본 URL 입력...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "예: meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/nl/settings.json
generated
8
webview-ui/src/i18n/locales/nl/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Baseten API-sleutel verkrijgen",
|
||||
"cerebrasApiKey": "Cerebras API-sleutel",
|
||||
"getCerebrasApiKey": "Cerebras API-sleutel verkrijgen",
|
||||
"azureResourceName": "Azure Resource-naam",
|
||||
"azureResourceNameDescription": "De naam van je Azure OpenAI resource (bijv. 'mijn-openai-resource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "De eindpunt-URL van je Azure OpenAI. Te vinden in het Azure-portaal onder Sleutels en eindpunt.",
|
||||
"azureDeploymentName": "Azure Deployment-naam",
|
||||
"azureDeploymentNameDescription": "De naam van je model deployment binnen de resource.",
|
||||
"azureApiKey": "Azure API-sleutel",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Model '{{model}}' is niet toegestaan voor provider '{{provider}}' door je organisatie",
|
||||
"profileInvalid": "Dit profiel bevat een provider of model dat niet is toegestaan door je organisatie",
|
||||
"qwenCodeOauthPath": "Je moet een geldig OAuth-referentiepad opgeven",
|
||||
"azureResourceName": "Je moet een Azure-resourcenaam opgeven.",
|
||||
"azureBaseUrl": "Je moet een Azure-basis-URL opgeven.",
|
||||
"azureDeploymentName": "Je moet een Azure-implementatienaam opgeven."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Voer project-ID in...",
|
||||
"customArn": "Voer ARN in (bijv. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Voer basis-URL in...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "bijv. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/pl/settings.json
generated
8
webview-ui/src/i18n/locales/pl/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Uzyskaj klucz API Baseten",
|
||||
"cerebrasApiKey": "Klucz API Cerebras",
|
||||
"getCerebrasApiKey": "Pobierz klucz API Cerebras",
|
||||
"azureResourceName": "Nazwa zasobu Azure",
|
||||
"azureResourceNameDescription": "Nazwa Twojego zasobu Azure OpenAI (np. 'moj-zasob-openai').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Adres URL punktu końcowego Azure OpenAI. Można go znaleźć w portalu Azure w sekcji Klucze i punkt końcowy.",
|
||||
"azureDeploymentName": "Nazwa wdrożenia Azure",
|
||||
"azureDeploymentNameDescription": "Nazwa wdrożenia modelu w zasobie.",
|
||||
"azureApiKey": "Klucz API Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Model '{{model}}' nie jest dozwolony dla dostawcy '{{provider}}' przez Twoją organizację",
|
||||
"profileInvalid": "Ten profil zawiera dostawcę lub model, który nie jest dozwolony przez Twoją organizację",
|
||||
"qwenCodeOauthPath": "Musisz podać prawidłową ścieżkę do poświadczeń OAuth",
|
||||
"azureResourceName": "Musisz podać nazwę zasobu Azure.",
|
||||
"azureBaseUrl": "Musisz podać bazowy adres URL Azure.",
|
||||
"azureDeploymentName": "Musisz podać nazwę wdrożenia Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Wprowadź ID projektu...",
|
||||
"customArn": "Wprowadź ARN (np. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Wprowadź podstawowy URL...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "np. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/pt-BR/settings.json
generated
8
webview-ui/src/i18n/locales/pt-BR/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Obter chave de API Baseten",
|
||||
"cerebrasApiKey": "Chave de API Cerebras",
|
||||
"getCerebrasApiKey": "Obter chave de API Cerebras",
|
||||
"azureResourceName": "Nome do recurso Azure",
|
||||
"azureResourceNameDescription": "O nome do seu recurso Azure OpenAI (ex: 'meu-recurso-openai').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "A URL do endpoint do Azure OpenAI. Encontrada no portal do Azure em Chaves e Ponto de Extremidade.",
|
||||
"azureDeploymentName": "Nome da implantação Azure",
|
||||
"azureDeploymentNameDescription": "O nome da implantação do modelo dentro do recurso.",
|
||||
"azureApiKey": "Chave de API Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "O modelo '{{model}}' não é permitido para o provedor '{{provider}}' pela sua organização",
|
||||
"profileInvalid": "Este perfil contém um provedor ou modelo que não é permitido pela sua organização",
|
||||
"qwenCodeOauthPath": "Você deve fornecer um caminho válido de credenciais OAuth",
|
||||
"azureResourceName": "Você deve fornecer um nome de recurso do Azure.",
|
||||
"azureBaseUrl": "Você deve fornecer uma URL base do Azure.",
|
||||
"azureDeploymentName": "Você deve fornecer um nome de implantação do Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Digite o ID do projeto...",
|
||||
"customArn": "Digite o ARN (ex: arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Digite a URL base...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "ex: meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/ru/settings.json
generated
8
webview-ui/src/i18n/locales/ru/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Получить Baseten API-ключ",
|
||||
"cerebrasApiKey": "Cerebras API-ключ",
|
||||
"getCerebrasApiKey": "Получить Cerebras API-ключ",
|
||||
"azureResourceName": "Имя ресурса Azure",
|
||||
"azureResourceNameDescription": "Имя вашего ресурса Azure OpenAI (напр. 'my-openai-resource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "URL-адрес конечной точки Azure OpenAI. Находится на портале Azure в разделе «Ключи и конечная точка».",
|
||||
"azureDeploymentName": "Имя развертывания Azure",
|
||||
"azureDeploymentNameDescription": "Имя развертывания модели внутри ресурса.",
|
||||
"azureApiKey": "API-ключ Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Модель '{{model}}' не разрешена для провайдера '{{provider}}' вашей организацией",
|
||||
"profileInvalid": "Этот профиль содержит провайдера или модель, которые не разрешены вашей организацией",
|
||||
"qwenCodeOauthPath": "Вы должны указать допустимый путь к учетным данным OAuth",
|
||||
"azureResourceName": "Вы должны указать имя ресурса Azure.",
|
||||
"azureBaseUrl": "Вы должны указать базовый URL Azure.",
|
||||
"azureDeploymentName": "Вы должны указать имя развёртывания Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Введите Project ID...",
|
||||
"customArn": "Введите ARN (например, arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Введите базовый URL...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "например, meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/tr/settings.json
generated
8
webview-ui/src/i18n/locales/tr/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Baseten API Anahtarı Al",
|
||||
"cerebrasApiKey": "Cerebras API Anahtarı",
|
||||
"getCerebrasApiKey": "Cerebras API Anahtarını Al",
|
||||
"azureResourceName": "Azure Kaynak Adı",
|
||||
"azureResourceNameDescription": "Azure OpenAI kaynak adınız (örn. 'benim-openai-kaynagim').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Azure OpenAI uç nokta URL'n. Azure portalında Anahtarlar ve Uç Nokta altında bulunur.",
|
||||
"azureDeploymentName": "Azure Dağıtım Adı",
|
||||
"azureDeploymentNameDescription": "Kaynak içindeki model dağıtım adınız.",
|
||||
"azureApiKey": "Azure API Anahtarı",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Model '{{model}}' sağlayıcı '{{provider}}' için kuruluşunuz tarafından izin verilmiyor",
|
||||
"profileInvalid": "Bu profil, kuruluşunuz tarafından izin verilmeyen bir sağlayıcı veya model içeriyor",
|
||||
"qwenCodeOauthPath": "Geçerli bir OAuth kimlik bilgileri yolu sağlamalısın",
|
||||
"azureResourceName": "Bir Azure kaynak adı sağlamalısın.",
|
||||
"azureBaseUrl": "Bir Azure temel URL'si sağlamalısın.",
|
||||
"azureDeploymentName": "Bir Azure dağıtım adı sağlamalısın."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Proje ID'sini girin...",
|
||||
"customArn": "ARN girin (örn. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Temel URL'yi girin...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "örn. meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/vi/settings.json
generated
8
webview-ui/src/i18n/locales/vi/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "Lấy khóa API Baseten",
|
||||
"cerebrasApiKey": "Khóa API Cerebras",
|
||||
"getCerebrasApiKey": "Lấy khóa API Cerebras",
|
||||
"azureResourceName": "Tên tài nguyên Azure",
|
||||
"azureResourceNameDescription": "Tên tài nguyên Azure OpenAI của bạn (ví dụ: 'my-openai-resource').",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "URL endpoint Azure OpenAI của bạn. Có thể tìm thấy trong cổng Azure dưới mục Khóa và Endpoint.",
|
||||
"azureDeploymentName": "Tên triển khai Azure",
|
||||
"azureDeploymentNameDescription": "Tên triển khai mô hình trong tài nguyên.",
|
||||
"azureApiKey": "Khóa API Azure",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "Mô hình '{{model}}' không được phép cho nhà cung cấp '{{provider}}' bởi tổ chức của bạn",
|
||||
"profileInvalid": "Hồ sơ này chứa một nhà cung cấp hoặc mô hình không được phép bởi tổ chức của bạn",
|
||||
"qwenCodeOauthPath": "Bạn phải cung cấp đường dẫn thông tin xác thực OAuth hợp lệ",
|
||||
"azureResourceName": "Bạn phải cung cấp tên tài nguyên Azure.",
|
||||
"azureBaseUrl": "Bạn phải cung cấp URL cơ sở Azure.",
|
||||
"azureDeploymentName": "Bạn phải cung cấp tên triển khai Azure."
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "Nhập ID dự án...",
|
||||
"customArn": "Nhập ARN (vd: arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "Nhập URL cơ sở...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "vd: meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/zh-CN/settings.json
generated
8
webview-ui/src/i18n/locales/zh-CN/settings.json
generated
|
|
@ -379,8 +379,8 @@
|
|||
"getBasetenApiKey": "获取 Baseten API 密钥",
|
||||
"cerebrasApiKey": "Cerebras API 密钥",
|
||||
"getCerebrasApiKey": "获取 Cerebras API 密钥",
|
||||
"azureResourceName": "Azure 资源名称",
|
||||
"azureResourceNameDescription": "您的 Azure OpenAI 资源名称(例如:'my-openai-resource')。",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Azure OpenAI 的端点 URL。可在 Azure 门户的「密钥和端点」中找到。",
|
||||
"azureDeploymentName": "Azure 部署名称",
|
||||
"azureDeploymentNameDescription": "资源中的模型部署名称。",
|
||||
"azureApiKey": "Azure API 密钥",
|
||||
|
|
@ -959,7 +959,7 @@
|
|||
"modelNotAllowed": "模型 '{{model}}' 不允许用于提供商 '{{provider}}',您的组织不允许",
|
||||
"profileInvalid": "此配置文件包含您的组织不允许的提供商或模型",
|
||||
"qwenCodeOauthPath": "您必须提供有效的 OAuth 凭证路径",
|
||||
"azureResourceName": "您必须提供 Azure 资源名称。",
|
||||
"azureBaseUrl": "您必须提供 Azure 基础 URL。",
|
||||
"azureDeploymentName": "您必须提供 Azure 部署名称。"
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -973,7 +973,7 @@
|
|||
"projectId": "请输入项目 ID...",
|
||||
"customArn": "请输入 ARN(例:arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "请输入基础 URL...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "例:meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
8
webview-ui/src/i18n/locales/zh-TW/settings.json
generated
8
webview-ui/src/i18n/locales/zh-TW/settings.json
generated
|
|
@ -389,8 +389,8 @@
|
|||
"getBasetenApiKey": "取得 Baseten API 金鑰",
|
||||
"cerebrasApiKey": "Cerebras API 金鑰",
|
||||
"getCerebrasApiKey": "取得 Cerebras API 金鑰",
|
||||
"azureResourceName": "Azure 資源名稱",
|
||||
"azureResourceNameDescription": "您的 Azure OpenAI 資源名稱(例如:'my-openai-resource')。",
|
||||
"azureBaseUrl": "Base URL",
|
||||
"azureBaseUrlDescription": "Azure OpenAI 的端點 URL。可在 Azure 入口網站的「金鑰和端點」中找到。",
|
||||
"azureDeploymentName": "Azure 部署名稱",
|
||||
"azureDeploymentNameDescription": "資源中的模型部署名稱。",
|
||||
"azureApiKey": "Azure API 金鑰",
|
||||
|
|
@ -969,7 +969,7 @@
|
|||
"modelNotAllowed": "模型 '{{model}}' 不允許用於供應商 '{{provider}}',此設定已被組織禁止",
|
||||
"profileInvalid": "此設定檔包含您的組織不允許的供應商或模型",
|
||||
"qwenCodeOauthPath": "您必須提供有效的 OAuth 憑證路徑",
|
||||
"azureResourceName": "您必須提供 Azure 資源名稱。",
|
||||
"azureBaseUrl": "您必須提供 Azure 基礎 URL。",
|
||||
"azureDeploymentName": "您必須提供 Azure 部署名稱。"
|
||||
},
|
||||
"placeholders": {
|
||||
|
|
@ -983,7 +983,7 @@
|
|||
"projectId": "請輸入專案 ID...",
|
||||
"customArn": "請輸入 ARN(例:arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
|
||||
"baseUrl": "請輸入基礎 URL...",
|
||||
"azureResourceName": "e.g. my-openai-resource",
|
||||
"azureBaseUrl": "https://your-resource.openai.azure.com/openai",
|
||||
"azureDeploymentName": "e.g. gpt-4o",
|
||||
"modelId": {
|
||||
"lmStudio": "例:meta-llama-3.1-8b-instruct",
|
||||
|
|
|
|||
|
|
@ -159,14 +159,14 @@ function validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): stri
|
|||
// Don't show validation errors when provider is freshly selected (all fields empty)
|
||||
if (
|
||||
!apiConfiguration.azureApiKey &&
|
||||
!apiConfiguration.azureResourceName &&
|
||||
!apiConfiguration.azureBaseUrl &&
|
||||
!apiConfiguration.azureDeploymentName
|
||||
) {
|
||||
break
|
||||
}
|
||||
// API key is optional — Azure supports managed identity / Entra ID auth
|
||||
if (!apiConfiguration.azureResourceName) {
|
||||
return i18next.t("settings:validation.azureResourceName")
|
||||
if (!apiConfiguration.azureBaseUrl) {
|
||||
return i18next.t("settings:validation.azureBaseUrl")
|
||||
}
|
||||
if (!apiConfiguration.azureDeploymentName) {
|
||||
return i18next.t("settings:validation.azureDeploymentName")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue