'You can copy the entire URL or just the code parameter value, the system will auto-detect'
'You can copy the entire URL or just the code parameter value, the system will auto-detect'
},
},
// Gemini specific
// Gemini specific
gemini:{
gemini:{
title:'Gemini Account Authorization',
title:'Gemini Account Authorization',
followSteps:'Follow these steps to authorize your Gemini account:',
followSteps:'Follow these steps to authorize your Gemini account:',
step1GenerateUrl:'Generate the authorization URL (requires a redirect URI)',
step1GenerateUrl:'Generate the authorization URL',
generateAuthUrl:'Generate Auth URL',
generateAuthUrl:'Generate Auth URL',
step2OpenUrl:'Open the URL in your browser and complete authorization',
projectIdLabel:'Project ID (optional)',
openUrlDesc:
projectIdPlaceholder:'e.g. my-gcp-project or cloud-ai-companion-xxxxx',
'Open the authorization URL in a new tab, log in to your Google account and authorize.',
projectIdHint:
step3EnterCode:'Enter Authorization URL or Code',
'Leave empty to auto-detect after code exchange. If auto-detection fails, fill it in and re-generate the auth URL to try again.',
authCodeDesc:
howToGetProjectId:'How to get',
'After authorization, you will be redirected to the redirect URI with <code>code</code> and <code>state</code>. Paste the full URL or just the code below:',
step2OpenUrl:'Open the URL in your browser and complete authorization',
authCode:'Authorization URL or Code',
openUrlDesc:
authCodePlaceholder:
'Open the authorization URL in a new tab, log in to your Google account and authorize.',
'Option 1: Paste the complete callback URL\n(https://your-domain/auth/callback?code=...&state=...)\nOption 2: Paste only the code value',
step3EnterCode:'Enter Authorization URL or Code',
authCodeHint:
authCodeDesc:
'If you paste the full URL, the system will auto-extract code/state for you',
'After authorization, copy the callback URL (recommended) or just the <code>code</code> and paste it below.',
authCode:'Callback URL or Code',
authCodePlaceholder:
'Option 1 (recommended): Paste the callback URL\nOption 2: Paste only the code value',
authCodeHint:'The system will auto-extract code/state from the URL.',
redirectUri:'Redirect URI',
redirectUri:'Redirect URI',
redirectUriHint:
redirectUriHint:
'This must be configured in your Google OAuth client and must match exactly.',
'This must be configured in your Google OAuth client and must match exactly.',
confirmRedirectUri:
confirmRedirectUri:
'I have configured this Redirect URI in the Google OAuth client (must match exactly)',
'I have configured this Redirect URI in the Google OAuth client (must match exactly)',
invalidRedirectUri:'Redirect URI must be a valid http(s) URL',
invalidRedirectUri:'Redirect URI must be a valid http(s) URL',
redirectUriNotConfirmed:'Please confirm the Redirect URI is configured correctly',
redirectUriNotConfirmed:'Please confirm the Redirect URI is configured correctly',
missingRedirectUri:'Missing redirect URI',
missingRedirectUri:'Missing redirect URI',
failedToGenerateUrl:'Failed to generate Gemini auth URL',
failedToGenerateUrl:'Failed to generate Gemini auth URL',
missingExchangeParams:'Missing auth code, session ID, state, or redirect URI',
missingExchangeParams:'Missing auth code, session ID, or state',
failedToExchangeCode:'Failed to exchange Gemini auth code',
failedToExchangeCode:'Failed to exchange Gemini auth code',
modelPassthrough:'Gemini Model Passthrough',
modelPassthrough:'Gemini Model Passthrough',
modelPassthroughDesc:
modelPassthroughDesc:
'All model requests are forwarded directly to the Gemini API without model restrictions or mappings.',
'All model requests are forwarded directly to the Gemini API without model restrictions or mappings.',
stateWarningTitle:'⚠️ Important: Gemini requires both code and state',
stateWarningTitle:'Note',
stateWarningDesc:
stateWarningDesc:'Recommended: paste the full callback URL (includes code & state).',
'We recommend pasting the complete callback URL so the system can auto-extract both code and state. Pasting only the code will cause authorization to fail.'