mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-30 07:39:06 +08:00
chore: add i18n and linting fix
This commit is contained in:
parent
3abc948b77
commit
4b6a916540
@ -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
@ -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",
|
||||
|
||||
@ -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 登录页。登录后复制跳转到本地地址的整条 URL(http://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": "删除无效密钥",
|
||||
|
||||
@ -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 登入頁。登入後請複製跳轉至本機位址的完整 URL(http://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": "刪除無效金鑰",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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": "Διαγραφή Ακυρωμένων Κλειδιών",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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 l’authentification OAuth OpenAI",
|
||||
"auth_method": "Méthode d’authentification",
|
||||
"auth_success": "Authentification OAuth OpenAI réussie",
|
||||
"authenticated": "Authentifié",
|
||||
"authenticating": "Authentification en cours",
|
||||
"cancel": "Annuler",
|
||||
"description": "Authentification OAuth",
|
||||
"description_detail": "Cliquez sur « Démarrer l’autorisation » pour ouvrir la page de connexion OpenAI dans votre navigateur. Après vous être connecté, copiez l’URL complète qui redirige vers l’adresse locale (http://127.0.0.1:1455/auth/callback?...) et collez-la ici pour terminer l’authentification.",
|
||||
"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 l’autorisation",
|
||||
"submit_url": "Envoyer l’URL",
|
||||
"url_error": "L’analyse de l’URL ou l’authentification a échoué, veuillez réessayer",
|
||||
"url_placeholder": "Collez l’URL 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",
|
||||
|
||||
@ -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": "無効なキーを削除",
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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": "Удалить недействительные ключи",
|
||||
|
||||
@ -156,4 +156,3 @@ const StartContainer = styled.div`
|
||||
`
|
||||
|
||||
export default OpenAISettings
|
||||
|
||||
|
||||
@ -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' && (
|
||||
|
||||
Loading…
Reference in New Issue
Block a user