chore: add i18n and linting fix

This commit is contained in:
libr 2025-11-07 20:53:26 +08:00
parent 3abc948b77
commit 4b6a916540
14 changed files with 430 additions and 69 deletions

View File

@ -10,7 +10,7 @@ import { dirname } from 'path'
const logger = loggerService.withContext('OpenAIOAuth')
// Client configuration
const DEFAULT_CLIENT_ID = 'app_EMoamEEZ73f0CkXaXp7hrann';
const DEFAULT_CLIENT_ID = 'app_EMoamEEZ73f0CkXaXp7hrann'
const CREDS_PATH = path.join(getConfigDir(), 'oauth', 'openai.json')
const REDIRECT_URI = 'http://localhost:1455/auth/callback'
const ISSUER = 'https://auth.openai.com'
@ -52,11 +52,7 @@ class OpenAIService {
return url.toString()
}
private async exchangeCodeForTokens(
code: string,
verifier: string,
clientId: string
): Promise<Credentials> {
private async exchangeCodeForTokens(code: string, verifier: string, clientId: string): Promise<Credentials> {
const response = await net.fetch(`${ISSUER}/oauth/token`, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
@ -220,12 +216,7 @@ class OpenAIService {
const payload = this.decodeJwtPayload(idToken)
if (!payload) return null
// Try common fields for account/user identifiers
const candidates = [
payload.account_id,
payload.chatgpt_user_id,
payload.aid,
payload.sub
]
const candidates = [payload.account_id, payload.chatgpt_user_id, payload.aid, payload.sub]
const id = candidates.find((v) => typeof v === 'string' && v.length > 0)
return id ?? null
} catch (e) {
@ -241,8 +232,7 @@ class OpenAIService {
try {
const payload = this.decodeJwtPayload(idToken)
// Prefer standard-ish fields if present
const rawCandidate =
(payload && (payload.sid || payload.session_id || payload.jti || payload.sub)) || idToken
const rawCandidate = (payload && (payload.sid || payload.session_id || payload.jti || payload.sub)) || idToken
const hash = crypto.createHash('sha256').update(String(rawCandidate)).digest('hex').slice(0, 32)
return `sess_${hash}`
} catch (e) {

File diff suppressed because one or more lines are too long

View File

@ -4392,24 +4392,24 @@
},
"openai": {
"alert": "OpenAI provider no longer supports the old calling methods. If you are using a third-party API, please create a new service provider.",
"apikey": "API key",
"auth_failed": "OpenAI OAuth authentication failed",
"auth_method": "Authentication Method",
"oauth": "Web OAuth",
"auth_success": "OpenAI OAuth authentication successful",
"authenticated": "Authenticated",
"authenticating": "Authenticating",
"cancel": "Cancel",
"description": "OAuth Authentication",
"description_detail": "Click 'Start Authorization' to open the OpenAI login page in your browser. After logging in, copy the entire URL that redirects to the local address (http://127.0.0.1:1455/auth/callback?...) and paste it here to complete authentication.",
"start_auth": "Start Authorization",
"authenticating": "Authenticating",
"enter_redirect_url": "Redirect URL",
"submit_url": "Submit URL",
"url_placeholder": "Paste the full URL starting with http://127.0.0.1:1455/auth/callback",
"cancel": "Cancel",
"auth_success": "OpenAI OAuth authentication successful",
"auth_failed": "OpenAI OAuth authentication failed",
"url_error": "URL parsing or authentication failed, please try again",
"authenticated": "Authenticated",
"logout": "Logout",
"logout_success": "Logged out",
"logout_failed": "Logout failed",
"apikey":"API key"
"logout_success": "Logged out",
"oauth": "Web OAuth",
"start_auth": "Start Authorization",
"submit_url": "Submit URL",
"url_error": "URL parsing or authentication failed, please try again",
"url_placeholder": "Paste the full URL starting with http://127.0.0.1:1455/auth/callback"
},
"remove_duplicate_keys": "Remove Duplicate Keys",
"remove_invalid_keys": "Remove Invalid Keys",

View File

@ -4392,24 +4392,24 @@
},
"openai": {
"alert": "OpenAI 服务商不再支持旧的调用方式,如果使用第三方 API 请新建服务商",
"apikey": "API key",
"auth_failed": "OpenAI OAuth 认证失败",
"auth_method": "认证方式",
"oauth": "网页 OAuth",
"auth_success": "OpenAI OAuth 认证成功",
"authenticated": "已认证",
"authenticating": "正在认证",
"cancel": "取消",
"description": "使用 OpenAI OAuth 登录",
"description_detail": "点击开始授权将在浏览器中打开 OpenAI 登录页。登录后复制跳转到本地地址的整条 URLhttp://127.0.0.1:1455/auth/callback?...),粘贴回此处完成认证。",
"start_auth": "开始授权",
"authenticating": "正在认证",
"enter_redirect_url": "重定向 URL",
"submit_url": "提交 URL",
"url_placeholder": "粘贴以 http://127.0.0.1:1455/auth/callback 开头的完整 URL",
"cancel": "取消",
"auth_success": "OpenAI OAuth 认证成功",
"auth_failed": "OpenAI OAuth 认证失败",
"url_error": "URL 解析或认证失败,请重试",
"authenticated": "已认证",
"logout": "登出",
"logout_success": "已登出",
"logout_failed": "登出失败",
"apikey":"API key"
"logout_success": "已登出",
"oauth": "网页 OAuth",
"start_auth": "开始授权",
"submit_url": "提交 URL",
"url_error": "URL 解析或认证失败,请重试",
"url_placeholder": "粘贴以 http://127.0.0.1:1455/auth/callback 开头的完整 URL"
},
"remove_duplicate_keys": "移除重复密钥",
"remove_invalid_keys": "删除无效密钥",

View File

@ -4392,24 +4392,24 @@
},
"openai": {
"alert": "OpenAI Provider 不再支援舊的呼叫方法。如果使用第三方 API請建立新的服務供應商",
"apikey": "API key",
"auth_failed": "OpenAI OAuth 認證失敗",
"auth_method": "認證方式",
"oauth": "網頁 OAuth",
"auth_success": "OpenAI OAuth 認證成功",
"authenticated": "已認證",
"authenticating": "正在認證",
"cancel": "取消",
"description": "使用 OpenAI OAuth 登入",
"description_detail": "點擊開始授權後會在瀏覽器開啟 OpenAI 登入頁。登入後請複製跳轉至本機位址的完整 URLhttp://127.0.0.1:1455/auth/callback?...),貼回此處完成認證。",
"start_auth": "開始授權",
"authenticating": "正在認證",
"enter_redirect_url": "重新導向 URL",
"submit_url": "提交 URL",
"url_placeholder": "貼上以 http://127.0.0.1:1455/auth/callback 開頭的完整 URL",
"cancel": "取消",
"auth_success": "OpenAI OAuth 認證成功",
"auth_failed": "OpenAI OAuth 認證失敗",
"url_error": "URL 解析或認證失敗,請重試",
"authenticated": "已認證",
"logout": "登出",
"logout_success": "已登出",
"logout_failed": "登出失敗",
"apikey":"API key"
"logout_success": "已登出",
"oauth": "網頁 OAuth",
"start_auth": "開始授權",
"submit_url": "提交 URL",
"url_error": "URL 解析或認證失敗,請重試",
"url_placeholder": "貼上以 http://127.0.0.1:1455/auth/callback 開頭的完整 URL"
},
"remove_duplicate_keys": "移除重複金鑰",
"remove_invalid_keys": "刪除無效金鑰",

View File

@ -339,6 +339,41 @@
},
"title": "API-Server"
},
"appMenu": {
"about": "Über",
"close": "Fenster schließen",
"copy": "Kopieren",
"cut": "Ausschneiden",
"delete": "Löschen",
"documentation": "Dokumentation",
"edit": "Bearbeiten",
"feedback": "Feedback",
"file": "Datei",
"forceReload": "Neu laden erzwingen",
"front": "Alle nach vorne bringen",
"help": "Hilfe",
"hide": "Ausblenden",
"hideOthers": "Andere ausblenden",
"minimize": "Minimieren",
"paste": "Einfügen",
"quit": "Beenden",
"redo": "Wiederholen",
"releases": "Veröffentlichungen",
"reload": "Neu laden",
"resetZoom": "Originalgröße",
"selectAll": "Alles auswählen",
"services": "Dienste",
"toggleDevTools": "Entwicklertools umschalten",
"toggleFullscreen": "Vollbild umschalten",
"undo": "Rückgängig",
"unhide": "Alle einblenden",
"view": "Ansicht",
"website": "Website",
"window": "Fenster",
"zoom": "Zoom",
"zoomIn": "Vergrößern",
"zoomOut": "Verkleinern"
},
"assistants": {
"abbr": "Assistent",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "Offizielle Website"
},
"openai": {
"alert": "OpenAI-Anbieter unterstützt keine alten Aufrufmethoden mehr, wenn Sie einen Drittanbieter-API verwenden, erstellen Sie bitte einen neuen Anbieter"
"alert": "OpenAI-Anbieter unterstützt keine alten Aufrufmethoden mehr, wenn Sie einen Drittanbieter-API verwenden, erstellen Sie bitte einen neuen Anbieter",
"apikey": "API-Schlüssel",
"auth_failed": "OpenAI-OAuth-Authentifizierung fehlgeschlagen",
"auth_method": "Authentifizierungsmethode",
"auth_success": "OpenAI-OAuth-Authentifizierung erfolgreich",
"authenticated": "Authentifiziert",
"authenticating": "Authentifizierung läuft",
"cancel": "Abbrechen",
"description": "OAuth-Authentifizierung",
"description_detail": "Klicken Sie auf \"Autorisierung starten\", um die OpenAI-Anmeldeseite in Ihrem Browser zu öffnen. Nach dem Anmelden kopieren Sie die vollständige URL, die zur lokalen Adresse (http://127.0.0.1:1455/auth/callback?...) weiterleitet, und fügen Sie sie hier ein, um die Authentifizierung abzuschließen.",
"enter_redirect_url": "Weiterleitungs-URL",
"logout": "Abmelden",
"logout_failed": "Abmelden fehlgeschlagen",
"logout_success": "Abgemeldet",
"oauth": "Web-OAuth",
"start_auth": "Autorisierung starten",
"submit_url": "URL senden",
"url_error": "URL-Analyse oder Authentifizierung fehlgeschlagen, bitte erneut versuchen",
"url_placeholder": "Fügen Sie die vollständige URL ein, die mit http://127.0.0.1:1455/auth/callback beginnt"
},
"remove_duplicate_keys": "Doppelte Schlüssel entfernen",
"remove_invalid_keys": "Ungültige Schlüssel löschen",

View File

@ -339,6 +339,41 @@
},
"title": "Διακομιστής API"
},
"appMenu": {
"about": "Σχετικά",
"close": "Κλείσιμο παραθύρου",
"copy": "Αντιγραφή",
"cut": "Αποκοπή",
"delete": "Διαγραφή",
"documentation": "Τεκμηρίωση",
"edit": "Επεξεργασία",
"feedback": "Σχόλια",
"file": "Αρχείο",
"forceReload": "Εξαναγκασμός επαναφόρτωσης",
"front": "Μεταφορά όλων στο προσκήνιο",
"help": "Βοήθεια",
"hide": "Απόκρυψη",
"hideOthers": "Απόκρυψη άλλων",
"minimize": "Ελαχιστοποίηση",
"paste": "Επικόλληση",
"quit": "Έξοδος",
"redo": "Επανάληψη",
"releases": "Κυκλοφορίες",
"reload": "Επαναφόρτωση",
"resetZoom": "Πραγματικό μέγεθος",
"selectAll": "Επιλογή όλων",
"services": "Υπηρεσίες",
"toggleDevTools": "Εναλλαγή εργαλείων προγραμματιστή",
"toggleFullscreen": "Εναλλαγή πλήρους οθόνης",
"undo": "Αναίρεση",
"unhide": "Εμφάνιση όλων",
"view": "Προβολή",
"website": "Ιστότοπος",
"window": "Παράθυρο",
"zoom": "Ζουμ",
"zoomIn": "Μεγέθυνση",
"zoomOut": "Σμίκρυνση"
},
"assistants": {
"abbr": "Βοηθός",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "Επίσημη ιστοσελίδα"
},
"openai": {
"alert": "Ο πάροχος OpenAI δεν υποστηρίζει πλέον την παλιά μέθοδο κλήσης, παρακαλώ δημιουργήστε έναν νέο πάροχο API αν χρησιμοποιείτε τρίτους"
"alert": "Ο πάροχος OpenAI δεν υποστηρίζει πλέον την παλιά μέθοδο κλήσης, παρακαλώ δημιουργήστε έναν νέο πάροχο API αν χρησιμοποιείτε τρίτους",
"apikey": "Κλειδί API",
"auth_failed": "Αποτυχία ελέγχου ταυτότητας OpenAI OAuth",
"auth_method": "Μέθοδος ελέγχου ταυτότητας",
"auth_success": "Επιτυχής έλεγχος ταυτότητας OpenAI OAuth",
"authenticated": "Έγινε έλεγχος ταυτότητας",
"authenticating": "Γίνεται έλεγχος ταυτότητας",
"cancel": "Ακύρωση",
"description": "Έλεγχος ταυτότητας OAuth",
"description_detail": "Κάντε κλικ στο \"Έναρξη εξουσιοδότησης\" για να ανοίξετε τη σελίδα σύνδεσης της OpenAI στον περιηγητή σας. Αφού συνδεθείτε, αντιγράψτε ολόκληρο το URL που ανακατευθύνει στη τοπική διεύθυνση (http://127.0.0.1:1455/auth/callback?...) και επικολλήστε το εδώ για να ολοκληρώσετε τον έλεγχο ταυτότητας.",
"enter_redirect_url": "URL ανακατεύθυνσης",
"logout": "Αποσύνδεση",
"logout_failed": "Αποτυχία αποσύνδεσης",
"logout_success": "Έγινε αποσύνδεση",
"oauth": "Web OAuth",
"start_auth": "Έναρξη εξουσιοδότησης",
"submit_url": "Υποβολή URL",
"url_error": "Αποτυχία ανάλυσης URL ή ελέγχου ταυτότητας, δοκιμάστε ξανά",
"url_placeholder": "Επικολλήστε το πλήρες URL που ξεκινά με http://127.0.0.1:1455/auth/callback"
},
"remove_duplicate_keys": "Αφαίρεση Επαναλαμβανόμενων Κλειδιών",
"remove_invalid_keys": "Διαγραφή Ακυρωμένων Κλειδιών",

View File

@ -339,6 +339,41 @@
},
"title": "Servidor API"
},
"appMenu": {
"about": "Acerca de",
"close": "Cerrar ventana",
"copy": "Copiar",
"cut": "Cortar",
"delete": "Eliminar",
"documentation": "Documentación",
"edit": "Editar",
"feedback": "Comentarios",
"file": "Archivo",
"forceReload": "Forzar recarga",
"front": "Traer todo al frente",
"help": "Ayuda",
"hide": "Ocultar",
"hideOthers": "Ocultar otros",
"minimize": "Minimizar",
"paste": "Pegar",
"quit": "Salir",
"redo": "Rehacer",
"releases": "Lanzamientos",
"reload": "Recargar",
"resetZoom": "Tamaño real",
"selectAll": "Seleccionar todo",
"services": "Servicios",
"toggleDevTools": "Alternar herramientas de desarrollo",
"toggleFullscreen": "Alternar pantalla completa",
"undo": "Deshacer",
"unhide": "Mostrar todo",
"view": "Ver",
"website": "Sitio web",
"window": "Ventana",
"zoom": "Zoom",
"zoomIn": "Acercar",
"zoomOut": "Alejar"
},
"assistants": {
"abbr": "Asistente",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "Sitio web oficial"
},
"openai": {
"alert": "El proveedor de OpenAI ya no admite el método de llamada antiguo; si utiliza una API de terceros, cree un nuevo proveedor"
"alert": "El proveedor de OpenAI ya no admite el método de llamada antiguo; si utiliza una API de terceros, cree un nuevo proveedor",
"apikey": "Clave API",
"auth_failed": "Falló la autenticación OAuth de OpenAI",
"auth_method": "Método de autenticación",
"auth_success": "Autenticación OAuth de OpenAI exitosa",
"authenticated": "Autenticado",
"authenticating": "Autenticando",
"cancel": "Cancelar",
"description": "Autenticación OAuth",
"description_detail": "Haz clic en \"Iniciar autorización\" para abrir la página de inicio de sesión de OpenAI en tu navegador. Después de iniciar sesión, copia la URL completa que redirige a la dirección local (http://127.0.0.1:1455/auth/callback?...) y pégala aquí para completar la autenticación.",
"enter_redirect_url": "URL de redirección",
"logout": "Cerrar sesión",
"logout_failed": "Error al cerrar sesión",
"logout_success": "Sesión cerrada",
"oauth": "OAuth web",
"start_auth": "Iniciar autorización",
"submit_url": "Enviar URL",
"url_error": "Error al analizar la URL o al autenticar; inténtalo de nuevo",
"url_placeholder": "Pega la URL completa que empieza por http://127.0.0.1:1455/auth/callback"
},
"remove_duplicate_keys": "Eliminar claves duplicadas",
"remove_invalid_keys": "Eliminar claves inválidas",

View File

@ -339,6 +339,41 @@
},
"title": "Serveur API"
},
"appMenu": {
"about": "À propos",
"close": "Fermer la fenêtre",
"copy": "Copier",
"cut": "Couper",
"delete": "Supprimer",
"documentation": "Documentation",
"edit": "Modifier",
"feedback": "Commentaires",
"file": "Fichier",
"forceReload": "Forcer le rechargement",
"front": "Tout ramener au premier plan",
"help": "Aide",
"hide": "Masquer",
"hideOthers": "Masquer les autres",
"minimize": "Réduire",
"paste": "Coller",
"quit": "Quitter",
"redo": "Rétablir",
"releases": "Versions",
"reload": "Recharger",
"resetZoom": "Taille réelle",
"selectAll": "Tout sélectionner",
"services": "Services",
"toggleDevTools": "Basculer les outils de développement",
"toggleFullscreen": "Basculer en plein écran",
"undo": "Annuler",
"unhide": "Tout afficher",
"view": "Affichage",
"website": "Site web",
"window": "Fenêtre",
"zoom": "Zoom",
"zoomIn": "Agrandir",
"zoomOut": "Réduire"
},
"assistants": {
"abbr": "Aide",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "Официальный сайт"
},
"openai": {
"alert": "Le fournisseur OpenAI ne prend plus en charge l'ancienne méthode d'appel. Veuillez créer un nouveau fournisseur si vous utilisez une API tierce"
"alert": "Le fournisseur OpenAI ne prend plus en charge l'ancienne méthode d'appel. Veuillez créer un nouveau fournisseur si vous utilisez une API tierce",
"apikey": "Clé API",
"auth_failed": "Échec de lauthentification OAuth OpenAI",
"auth_method": "Méthode dauthentification",
"auth_success": "Authentification OAuth OpenAI réussie",
"authenticated": "Authentifié",
"authenticating": "Authentification en cours",
"cancel": "Annuler",
"description": "Authentification OAuth",
"description_detail": "Cliquez sur « Démarrer lautorisation » pour ouvrir la page de connexion OpenAI dans votre navigateur. Après vous être connecté, copiez lURL complète qui redirige vers ladresse locale (http://127.0.0.1:1455/auth/callback?...) et collez-la ici pour terminer lauthentification.",
"enter_redirect_url": "URL de redirection",
"logout": "Se déconnecter",
"logout_failed": "Échec de la déconnexion",
"logout_success": "Déconnecté",
"oauth": "OAuth Web",
"start_auth": "Démarrer lautorisation",
"submit_url": "Envoyer lURL",
"url_error": "Lanalyse de lURL ou lauthentification a échoué, veuillez réessayer",
"url_placeholder": "Collez lURL complète commençant par http://127.0.0.1:1455/auth/callback"
},
"remove_duplicate_keys": "Supprimer les clés en double",
"remove_invalid_keys": "Supprimer les clés invalides",

View File

@ -339,6 +339,41 @@
},
"title": "API サーバー"
},
"appMenu": {
"about": "バージョン情報",
"close": "ウィンドウを閉じる",
"copy": "コピー",
"cut": "切り取り",
"delete": "削除",
"documentation": "ドキュメント",
"edit": "編集",
"feedback": "フィードバック",
"file": "ファイル",
"forceReload": "強制再読み込み",
"front": "すべてを前面へ移動",
"help": "ヘルプ",
"hide": "隠す",
"hideOthers": "ほかを隠す",
"minimize": "最小化",
"paste": "貼り付け",
"quit": "終了",
"redo": "やり直し",
"releases": "リリース",
"reload": "再読み込み",
"resetZoom": "実際のサイズ",
"selectAll": "すべて選択",
"services": "サービス",
"toggleDevTools": "開発者ツールの切り替え",
"toggleFullscreen": "フルスクリーン切り替え",
"undo": "元に戻す",
"unhide": "すべてを表示",
"view": "表示",
"website": "ウェブサイト",
"window": "ウィンドウ",
"zoom": "ズーム",
"zoomIn": "拡大",
"zoomOut": "縮小"
},
"assistants": {
"abbr": "アシスタント",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "公式サイト"
},
"openai": {
"alert": "OpenAIプロバイダーは旧式の呼び出し方法をサポートしなくなりました。サードパーティのAPIを使用している場合は、新しいサービスプロバイダーを作成してください。"
"alert": "OpenAIプロバイダーは旧式の呼び出し方法をサポートしなくなりました。サードパーティのAPIを使用している場合は、新しいサービスプロバイダーを作成してください。",
"apikey": "APIキー",
"auth_failed": "OpenAI OAuth認証に失敗しました",
"auth_method": "認証方法",
"auth_success": "OpenAI OAuth認証に成功しました",
"authenticated": "認証済み",
"authenticating": "認証中",
"cancel": "キャンセル",
"description": "OAuth認証",
"description_detail": "「認可を開始」をクリックして、ブラウザで OpenAI のログインページを開きます。ログイン後、ローカルアドレスhttp://127.0.0.1:1455/auth/callback?...にリダイレクトされる完全なURLをコピーし、ここに貼り付けて認証を完了してください。",
"enter_redirect_url": "リダイレクトURL",
"logout": "ログアウト",
"logout_failed": "ログアウトに失敗しました",
"logout_success": "ログアウトしました",
"oauth": "Web OAuth",
"start_auth": "認可を開始",
"submit_url": "URLを送信",
"url_error": "URLの解析または認証に失敗しました。もう一度お試しください",
"url_placeholder": "http://127.0.0.1:1455/auth/callback で始まる完全なURLを貼り付けてください"
},
"remove_duplicate_keys": "重複キーを削除",
"remove_invalid_keys": "無効なキーを削除",

View File

@ -339,6 +339,41 @@
},
"title": "Servidor API"
},
"appMenu": {
"about": "Sobre",
"close": "Fechar janela",
"copy": "Copiar",
"cut": "Cortar",
"delete": "Eliminar",
"documentation": "Documentação",
"edit": "Editar",
"feedback": "Feedback",
"file": "Ficheiro",
"forceReload": "Forçar recarregamento",
"front": "Trazer tudo para a frente",
"help": "Ajuda",
"hide": "Ocultar",
"hideOthers": "Ocultar outros",
"minimize": "Minimizar",
"paste": "Colar",
"quit": "Sair",
"redo": "Refazer",
"releases": "Lançamentos",
"reload": "Recarregar",
"resetZoom": "Tamanho real",
"selectAll": "Selecionar tudo",
"services": "Serviços",
"toggleDevTools": "Alternar ferramentas de desenvolvimento",
"toggleFullscreen": "Alternar ecrã inteiro",
"undo": "Anular",
"unhide": "Mostrar tudo",
"view": "Ver",
"website": "Website",
"window": "Janela",
"zoom": "Zoom",
"zoomIn": "Ampliar",
"zoomOut": "Reduzir"
},
"assistants": {
"abbr": "Assistente",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "Site Oficial"
},
"openai": {
"alert": "O provedor OpenAI não suporta mais o método antigo de chamada. Se estiver usando uma API de terceiros, crie um novo provedor"
"alert": "O provedor OpenAI não suporta mais o método antigo de chamada. Se estiver usando uma API de terceiros, crie um novo provedor",
"apikey": "Chave da API",
"auth_failed": "Falha na autenticação OAuth da OpenAI",
"auth_method": "Método de autenticação",
"auth_success": "Autenticação OAuth da OpenAI bem-sucedida",
"authenticated": "Autenticado",
"authenticating": "A autenticar",
"cancel": "Cancelar",
"description": "Autenticação OAuth",
"description_detail": "Clique em \"Iniciar autorização\" para abrir a página de início de sessão da OpenAI no seu navegador. Depois de iniciar sessão, copie o URL completo que redireciona para o endereço local (http://127.0.0.1:1455/auth/callback?...) e cole-o aqui para concluir a autenticação.",
"enter_redirect_url": "URL de redirecionamento",
"logout": "Terminar sessão",
"logout_failed": "Falha ao terminar sessão",
"logout_success": "Sessão terminada",
"oauth": "OAuth Web",
"start_auth": "Iniciar autorização",
"submit_url": "Enviar URL",
"url_error": "Análise do URL ou autenticação falhou, tente novamente",
"url_placeholder": "Cole o URL completo começando por http://127.0.0.1:1455/auth/callback"
},
"remove_duplicate_keys": "Remover chaves duplicadas",
"remove_invalid_keys": "Remover chaves inválidas",

View File

@ -339,6 +339,41 @@
},
"title": "API Сервер"
},
"appMenu": {
"about": "О программе",
"close": "Закрыть окно",
"copy": "Копировать",
"cut": "Вырезать",
"delete": "Удалить",
"documentation": "Документация",
"edit": "Правка",
"feedback": "Отзыв",
"file": "Файл",
"forceReload": "Принудительная перезагрузка",
"front": "Вывести все на передний план",
"help": "Справка",
"hide": "Скрыть",
"hideOthers": "Скрыть прочие",
"minimize": "Свернуть",
"paste": "Вставить",
"quit": "Выход",
"redo": "Повторить",
"releases": "Релизы",
"reload": "Перезагрузить",
"resetZoom": "Фактический размер",
"selectAll": "Выделить всё",
"services": "Службы",
"toggleDevTools": "Переключить инструменты разработчика",
"toggleFullscreen": "Переключить полноэкранный режим",
"undo": "Отменить",
"unhide": "Показать все",
"view": "Вид",
"website": "Веб‑сайт",
"window": "Окно",
"zoom": "Масштаб",
"zoomIn": "Увеличить",
"zoomOut": "Уменьшить"
},
"assistants": {
"abbr": "Ассистент",
"clear": {
@ -4356,7 +4391,25 @@
"official_website": "Официальный сайт"
},
"openai": {
"alert": "Поставщик OpenAI больше не поддерживает старые методы вызова. Если вы используете сторонний API, создайте нового поставщика услуг."
"alert": "Поставщик OpenAI больше не поддерживает старые методы вызова. Если вы используете сторонний API, создайте нового поставщика услуг.",
"apikey": "Ключ API",
"auth_failed": "Сбой аутентификации OpenAI OAuth",
"auth_method": "Метод аутентификации",
"auth_success": "Аутентификация OpenAI OAuth выполнена успешно",
"authenticated": "Аутентифицировано",
"authenticating": "Идёт аутентификация",
"cancel": "Отмена",
"description": "Аутентификация OAuth",
"description_detail": "Нажмите \"Начать авторизацию\", чтобы открыть страницу входа OpenAI в вашем браузере. После входа скопируйте полный URL, который перенаправляет на локальный адрес (http://127.0.0.1:1455/auth/callback?...), и вставьте его здесь, чтобы завершить аутентификацию.",
"enter_redirect_url": "URL перенаправления",
"logout": "Выйти",
"logout_failed": "Не удалось выйти",
"logout_success": "Выполнен выход",
"oauth": "ВебOAuth",
"start_auth": "Начать авторизацию",
"submit_url": "Отправить URL",
"url_error": "Не удалось разобрать URL или выполнить аутентификацию. Повторите попытку",
"url_placeholder": "Вставьте полный URL, начинающийся с http://127.0.0.1:1455/auth/callback"
},
"remove_duplicate_keys": "Удалить дубликаты ключей",
"remove_invalid_keys": "Удалить недействительные ключи",

View File

@ -156,4 +156,3 @@ const StartContainer = styled.div`
`
export default OpenAISettings

View File

@ -409,7 +409,7 @@ const ProviderSetting: FC<Props> = ({ providerId }) => {
{isProviderSupportAuth(provider) && <ProviderOAuth providerId={provider.id} />}
{provider.id === 'openai' && (
<>
<SettingSubtitle style={{ marginTop: 5 }}>{t('settings.provider.openai.auth_method')}</SettingSubtitle>
<SettingSubtitle style={{ marginTop: 5 }}>{t('settings.provider.openai.auth_method')}</SettingSubtitle>
<Select
style={{ width: '40%', marginTop: 5, marginBottom: 10 }}
value={provider.authType || 'apiKey'}
@ -420,7 +420,8 @@ const ProviderSetting: FC<Props> = ({ providerId }) => {
]}
/>
{provider.authType === 'oauth' && <OpenAISettings />}
</>)}
</>
)}
{provider.id === 'ovms' && <OVMSSettings />}
{isDmxapi && <DMXAPISettings providerId={provider.id} />}
{provider.id === 'anthropic' && (