diff --git a/client/src/components/Nav/Settings.tsx b/client/src/components/Nav/Settings.tsx index 01f51011c8..1c7a58497a 100644 --- a/client/src/components/Nav/Settings.tsx +++ b/client/src/components/Nav/Settings.tsx @@ -36,7 +36,7 @@ export default function Settings({ open, onOpenChange }: TDialogProps) { > onChange(e.target.value)} value={langcode} > - - - - - - - - - - - + + + + + + + + + + + + ); @@ -103,6 +105,7 @@ function General() { const clearConvosMutation = useClearConversationsMutation(); const [confirmClear, setConfirmClear] = useState(false); const [langcode, setLangcode] = useRecoilState(store.lang); + const [selectedLang, setSelectedLang] = useLocalStorage('selectedLang', langcode); const { newConversation } = useConversation(); const { refreshConversations } = useConversations(); @@ -135,9 +138,17 @@ function General() { const changeLang = useCallback( (value: string) => { - setLangcode(value); + setSelectedLang(value); + if (value === 'auto') { + const userLang = navigator.language || navigator.languages[0]; + setLangcode(userLang); + localStorage.setItem('lang', userLang); + } else { + setLangcode(value); + localStorage.setItem('lang', value); + } }, - [setLangcode], + [setLangcode, setSelectedLang], ); return ( @@ -152,7 +163,7 @@ function General() {
- +
{ it('renders correctly', () => { const { getByText, getByDisplayValue } = render( - + , ); @@ -26,12 +26,12 @@ describe('LangSelector', () => { it('calls onChange when the select value changes', () => { const { getByDisplayValue } = render( - + , ); - fireEvent.change(getByDisplayValue('English'), { target: { value: 'it' } }); + fireEvent.change(getByDisplayValue('English'), { target: { value: 'it-IT' } }); - expect(mockOnChange).toHaveBeenCalledWith('it'); + expect(mockOnChange).toHaveBeenCalledWith('it-IT'); }); }); diff --git a/client/src/localization/Translation.tsx b/client/src/localization/Translation.tsx index 15435b5236..1df09b7da9 100644 --- a/client/src/localization/Translation.tsx +++ b/client/src/localization/Translation.tsx @@ -11,6 +11,21 @@ import Japanese from './languages/Jp'; import Swedish from './languages/Sv'; // === import additional language files here === // +const languageMap: { [key: string]: unknown } = { + 'en-US': English, + 'zh-CN': Chinese, + 'de-DE': German, + 'es-ES': Spanish, + 'fr-FR': French, + 'it-IT': Italian, + 'pl-PL': Polish, + 'pt-BR': Portuguese, + 'ru-RU': Russian, + 'ja-JP': Japanese, + 'sv-SE': Swedish, + // Add additional language mappings here +}; + // New method on String allow using "{\d}" placeholder for // loading value dynamically. declare global { @@ -22,7 +37,7 @@ declare global { if (!String.prototype.format) { String.prototype.format = function (...args: string[]) { return this.replace(/{(\d+)}/g, function (match, number) { - return typeof args[number] != 'undefined' ? args[number] : match; + return typeof args[number] !== 'undefined' ? args[number] : match; }); }; } @@ -30,57 +45,15 @@ if (!String.prototype.format) { // input: language code in string // returns an object of translated strings in the language export const getTranslations = (langCode: string) => { - if (langCode === 'en') { - return English; - } - if (langCode === 'cn') { - return Chinese; - } - if (langCode === 'fr') { - return French; - } - if (langCode === 'de') { - return German; - } - if (langCode === 'it') { - return Italian; - } - if (langCode === 'pl') { - return Polish; - } - if (langCode === 'br') { - return Portuguese; - } - if (langCode === 'es') { - return Spanish; - } - if (langCode === 'ru') { - return Russian; - } - if (langCode === 'jp') { - return Japanese; - } - if (langCode === 'sv') { - return Swedish; - } - - // === add conditionals here for additional languages here === // - return English; // default to English + const language = languageMap[langCode] || English; + return language; }; // input: language code in string & phrase key in string // returns an corresponding phrase value in string export const localize = (langCode: string, phraseKey: string, ...values: string[]) => { const lang = getTranslations(langCode); - if (phraseKey in lang) { - return lang[phraseKey].format(...values); - } + const phrase = lang[phraseKey] || English[phraseKey] || ''; - if (phraseKey in English) { - // Fall back logic to cover untranslated phrases - return English[phraseKey].format(...values); - } - - // In case the key is not defined, return empty instead of throw errors. - return ''; + return phrase.format(...values); }; diff --git a/client/src/localization/languages/Br.tsx b/client/src/localization/languages/Br.tsx index 027ebea687..e7fcb89e27 100644 --- a/client/src/localization/languages/Br.tsx +++ b/client/src/localization/languages/Br.tsx @@ -206,20 +206,25 @@ export default { com_endpoint_config_key_encryption: 'Sua chave será criptografada e excluída em', com_endpoint_config_key_expiry: 'Tempo de expiração', com_endpoint_config_key_import_json_key: 'Importar Chave JSON de Conta de Serviço.', - com_endpoint_config_key_import_json_key_success: 'Chave JSON de Conta de Serviço Importada com Sucesso', - com_endpoint_config_key_import_json_key_invalid: 'Chave JSON de Conta de Serviço Inválida. Você importou o arquivo correto?', + com_endpoint_config_key_import_json_key_success: + 'Chave JSON de Conta de Serviço Importada com Sucesso', + com_endpoint_config_key_import_json_key_invalid: + 'Chave JSON de Conta de Serviço Inválida. Você importou o arquivo correto?', com_endpoint_config_key_get_edge_key: 'Para obter seu token de acesso para o Bing, faça login em', - com_endpoint_config_key_get_edge_key_dev_tool: 'Use ferramentas de desenvolvimento ou uma extensão enquanto estiver conectado ao site para copiar o conteúdo do cookie _U. Se isso falhar, siga estas', + com_endpoint_config_key_get_edge_key_dev_tool: + 'Use ferramentas de desenvolvimento ou uma extensão enquanto estiver conectado ao site para copiar o conteúdo do cookie _U. Se isso falhar, siga estas', com_endpoint_config_key_edge_instructions: 'instruções', com_endpoint_config_key_edge_full_key_string: 'para fornecer as sequências completas de cookies.', - com_endpoint_config_key_chatgpt: 'Para obter seu token de acesso para o ChatGPT \'Versão Gratuita\', faça login em', + com_endpoint_config_key_chatgpt: + 'Para obter seu token de acesso para o ChatGPT \'Versão Gratuita\', faça login em', com_endpoint_config_key_chatgpt_then_visit: 'depois visite', com_endpoint_config_key_chatgpt_copy_token: 'Copie o token de acesso.', com_endpoint_config_key_google_need_to: 'Você precisa', com_endpoint_config_key_google_vertex_ai: 'Ativar Vertex AI', com_endpoint_config_key_google_vertex_api: 'API no Google Cloud, em seguida,', com_endpoint_config_key_google_service_account: 'Criar uma Conta de Serviço', - com_endpoint_config_key_google_vertex_api_role: 'Certifique-se de clicar em \'Criar e Continuar\' para atribuir pelo menos a função de \'Usuário Vertex AI\'. Por fim, crie uma chave JSON para importar aqui.', + com_endpoint_config_key_google_vertex_api_role: + 'Certifique-se de clicar em \'Criar e Continuar\' para atribuir pelo menos a função de \'Usuário Vertex AI\'. Por fim, crie uma chave JSON para importar aqui.', com_nav_export_filename: 'Nome do Arquivo', com_nav_export_filename_placeholder: 'Defina o nome do arquivo', com_nav_export_type: 'Tipo', @@ -249,14 +254,5 @@ export default { com_nav_search_placeholder: 'Procurar mensagens', com_nav_setting_general: 'Geral', com_nav_setting_data: 'Controle de Dados', - com_nav_language: 'Idioma', - com_nav_lang_english: 'English', - com_nav_lang_chinese: '中文', - com_nav_lang_german: 'Deutsch', - com_nav_lang_spanish: 'Español', - com_nav_lang_french: 'Français ', - com_nav_lang_italian: 'Italiano', - com_nav_lang_polish: 'Polski', com_nav_lang_brazilian_portuguese: 'Português Brasileiro', - com_nav_lang_russian: 'Русский', }; diff --git a/client/src/localization/languages/De.tsx b/client/src/localization/languages/De.tsx index 62813e1bbb..d02406f8be 100644 --- a/client/src/localization/languages/De.tsx +++ b/client/src/localization/languages/De.tsx @@ -196,6 +196,5 @@ export default { com_nav_settings: 'Einstellungen', com_nav_search_placeholder: 'Durchsuche Nachrichten', com_nav_setting_general: 'Generell', - com_nav_language: 'Sprache', com_nav_lang_german: 'Deutsch', }; diff --git a/client/src/localization/languages/Eng.tsx b/client/src/localization/languages/Eng.tsx index 1edc09dafa..bbc5eedc12 100644 --- a/client/src/localization/languages/Eng.tsx +++ b/client/src/localization/languages/Eng.tsx @@ -255,6 +255,7 @@ export default { com_nav_setting_general: 'General', com_nav_setting_data: 'Data controls', com_nav_language: 'Language', + com_nav_lang_auto: 'Auto detect', com_nav_lang_english: 'English', com_nav_lang_chinese: '中文', com_nav_lang_german: 'Deutsch', diff --git a/client/src/localization/languages/Es.tsx b/client/src/localization/languages/Es.tsx index 044e0c18e6..9e1b7061d9 100644 --- a/client/src/localization/languages/Es.tsx +++ b/client/src/localization/languages/Es.tsx @@ -259,14 +259,5 @@ export default { com_nav_search_placeholder: 'Buscar mensajes', com_nav_setting_general: 'General', com_nav_setting_data: 'Control de Datos', - com_nav_language: 'Idioma', - com_nav_lang_english: 'English', - com_nav_lang_chinese: '中文', - com_nav_lang_german: 'Deutsch', com_nav_lang_spanish: 'Español', - com_nav_lang_french: 'Français ', - com_nav_lang_italian: 'Italiano', - com_nav_lang_polish: 'Polski', - com_nav_lang_brazilian_portuguese: 'Português Brasileiro', - com_nav_lang_russian: 'Русский', }; diff --git a/client/src/localization/languages/It.tsx b/client/src/localization/languages/It.tsx index 5a962e84ef..6f315f04f6 100644 --- a/client/src/localization/languages/It.tsx +++ b/client/src/localization/languages/It.tsx @@ -254,5 +254,5 @@ export default { com_nav_settings: 'Impostazioni', com_nav_search_placeholder: 'Cerca messaggi', com_nav_setting_general: 'Generale', - com_nav_setting_data: 'Controllo dati', + com_nav_setting_data: 'Controllo dei dati', }; diff --git a/client/src/localization/languages/Jp.tsx b/client/src/localization/languages/Jp.tsx index f2bb00695f..14d9df7c1e 100644 --- a/client/src/localization/languages/Jp.tsx +++ b/client/src/localization/languages/Jp.tsx @@ -12,8 +12,7 @@ export default { com_ui_capability_decline_requests: '不適切な要求を断るように学習されています', com_ui_limitations: '制限事項', com_ui_limitation_incorrect_info: '誤った情報を生成することがあります', - com_ui_limitation_harmful_biased: - '有害な指示や偏った内容を生成する可能性があります', + com_ui_limitation_harmful_biased: '有害な指示や偏った内容を生成する可能性があります', com_ui_limitation_limited_2021: '2021年以降の世界と出来事に関しては知識が乏しいです', com_ui_input: '入力', com_ui_close: '閉じる', @@ -75,8 +74,7 @@ export default { com_auth_password_not_match: 'パスワードが一致しません', com_auth_continue: '続ける', com_auth_create_account: 'アカウント登録', - com_auth_error_create: - 'アカウント登録に失敗しました。もう一度試してください。', + com_auth_error_create: 'アカウント登録に失敗しました。もう一度試してください。', com_auth_full_name: '姓名', com_auth_name_required: '姓名は必須です', com_auth_name_min_length: '姓名は最低3文字は必要です', @@ -92,8 +90,7 @@ export default { com_auth_here: 'こちら', com_auth_to_reset_your_password: 'to reset your password.', com_auth_reset_password_link_sent: 'メールを送信する', - com_auth_reset_password_email_sent: - 'パスワードリセット方法を記載したメールを送信しました。', + com_auth_reset_password_email_sent: 'パスワードリセット方法を記載したメールを送信しました。', com_auth_error_reset_password: 'パスワードリセット中に問題が発生しました。指定されたメールアドレスのユーザは存在しません。別のメールアドレスでもう一度お試しください。', com_auth_reset_password_success: 'パスワードリセットに成功しました', @@ -130,7 +127,8 @@ export default { com_endpoint_google_maxoutputtokens: ' 生成されるレスポンスの最大トークン数。短いレスポンスには低い値を、長いレスポンスには高い値を指定する。', com_endpoint_google_custom_name_placeholder: 'PaLM2用の名前を設定する', - com_endpoint_prompt_prefix_placeholder: 'custom instructions か context を設定する。空の場合は無視されます。', + com_endpoint_prompt_prefix_placeholder: + 'custom instructions か context を設定する。空の場合は無視されます。', com_endpoint_custom_name: 'プリセット名', com_endpoint_prompt_prefix: 'プロンプトの先頭', com_endpoint_temperature: 'Temperature', @@ -205,15 +203,18 @@ export default { com_endpoint_config_key_encryption: '鍵は暗号化されます。削除予定日:', com_endpoint_config_key_expiry: 'すでに有効期限切れ', com_endpoint_config_key_import_json_key: 'Service Account JSON Key をインポートする。', - com_endpoint_config_key_import_json_key_success: 'Service Account JSON Keyのインポートに成功しました。', + com_endpoint_config_key_import_json_key_success: + 'Service Account JSON Keyのインポートに成功しました。', com_endpoint_config_key_import_json_key_invalid: '無効なService Account JSON Keyです。正しいファイルか確認してください。', - com_endpoint_config_key_get_edge_key: 'Bing用のアクセストークンを取得するためにログインをしてください: ', + com_endpoint_config_key_get_edge_key: + 'Bing用のアクセストークンを取得するためにログインをしてください: ', com_endpoint_config_key_get_edge_key_dev_tool: 'サイトにログインした状態で、開発ツールまたは拡張機能を使用して、_U クッキーの内容をコピーします。もし失敗する場合は次の手順に従ってください。', com_endpoint_config_key_edge_instructions: '手順', com_endpoint_config_key_edge_full_key_string: 'to provide the full cookie strings.', - com_endpoint_config_key_chatgpt: 'ChatGPTの「Free Version」のアクセストークンを入手するためにへログインをしてください:', + com_endpoint_config_key_chatgpt: + 'ChatGPTの「Free Version」のアクセストークンを入手するためにへログインをしてください:', com_endpoint_config_key_chatgpt_then_visit: 'つぎに、ここへアクセスしてください:', com_endpoint_config_key_chatgpt_copy_token: 'トークンをコピーしてください。', com_endpoint_config_key_google_need_to: 'こちらを有効化する必要があります:', @@ -250,5 +251,4 @@ export default { com_nav_search_placeholder: 'メッセージ検索', com_nav_setting_general: '一般', com_nav_setting_data: 'データ管理', - com_nav_language: '言語' }; diff --git a/client/src/localization/languages/Sv.tsx b/client/src/localization/languages/Sv.tsx index 32af912002..f0d03f366b 100644 --- a/client/src/localization/languages/Sv.tsx +++ b/client/src/localization/languages/Sv.tsx @@ -1,225 +1,255 @@ +// Swedish phrases + export default { - com_ui_examples: 'Exempel', // Examples - com_ui_new_chat: 'Ny chatt', // New chat - com_ui_example_quantum_computing: 'Förklara kvantberäkning på enkla termer', // Explain quantum computing in simple terms - com_ui_example_10_year_old_b_day: 'Har du några kreativa idéer till ett 10-årings födelsedag?', // Got any creative ideas for a 10 year old's birthday? - com_ui_example_http_in_js: 'Hur gör jag en HTTP-förfrågan i Javascript?', // How do I make an HTTP request in Javascript? - com_ui_capabilities: 'Möjligheter', // Capabilities - com_ui_capability_remember: 'Kommer ihåg vad användaren sa tidigare i konversationen', // Remembers what user said earlier in the conversation - com_ui_capability_correction: 'Tillåter användaren att ge uppföljande rättelser', // Allows user to provide follow-up corrections - com_ui_capability_decline_requests: 'Tränad för att avvisa olämpliga förfrågningar', // Trained to decline inappropriate requests - com_ui_limitations: 'Begränsningar', // Limitations - com_ui_limitation_incorrect_info: 'Kan ibland generera felaktig information', // May occasionally generate incorrect information - com_ui_limitation_harmful_biased: 'Kan ibland producera skadliga instruktioner eller snedvridet innehåll', // May occasionally produce harmful instructions or biased content - com_ui_limitation_limited_2021: 'Begränsad kunskap om världen och händelser efter 2021', // Limited knowledge of world and events after 2021 - com_ui_input: 'Inmatning', // Input - com_ui_close: 'Stäng', // Close - com_ui_model: 'Modell', // Model - com_ui_select_model: 'Välj en modell', // Select a model - com_ui_use_prompt: 'Använd prompt', // Use prompt - com_ui_prev: 'Föregående', // Prev - com_ui_next: 'Nästa', // Next - com_ui_prompt_templates: 'Prompt Mallar', // Prompt Templates - com_ui_hide_prompt_templates: 'Dölj Prompt Mallar', // Hide Prompt Templates - com_ui_showing: 'Visar', // Showing - com_ui_of: 'av', // of - com_ui_entries: 'Inlägg', // Entries - com_ui_pay_per_call: 'Alla AI-konversationer på ett ställe. Betala per anrop och inte per månad', // All AI conversations in one place. Pay per call and not per month - com_ui_enter: 'Ange', // Enter - com_ui_submit: 'Skicka', // Submit - com_ui_upload_success: 'Uppladdningen av filen lyckades', // Successfully uploaded file - com_ui_upload_invalid: 'Ogiltig fil för uppladdning', // Invalid file for upload - com_ui_cancel: 'Avbryt', // Cancel - com_ui_save: 'Spara', // Save - com_ui_copy_to_clipboard: 'Kopiera till urklipp', // Copy to clipboard - com_ui_copied_to_clipboard: 'Kopierat till urklipp', // Copied to clipboard - com_ui_regenerate: 'Återskapa', // Regenerate - com_ui_continue: 'Fortsätt', // Continue - com_ui_edit: 'Redigera', // Edit - com_ui_success: 'Lyckades', // Success - com_ui_all: 'alla', // all - com_ui_clear: 'Rensa', // Clear - com_ui_revoke: 'Återkalla', // Revoke - com_ui_revoke_info: 'Återkalla alla användaruppgifter.', // Revoke all user provided credentials. - com_ui_confirm_action: 'Bekräfta åtgärd', // Confirm Action - com_ui_chats: 'chattar', // chats - com_ui_delete: 'Radera', // Delete - com_ui_delete_conversation: 'Radera chatt?', // Delete chat? - com_ui_delete_conversation_confirm: 'Detta kommer att radera', // This will delete - com_auth_error_login: 'Kunde inte logga in med den angivna informationen. Kontrollera dina uppgifter och försök igen.', // Unable to login with the information provided. Please check your credentials and try again. - com_auth_error_login_rl: 'För många inloggningsförsök från den här IP-adressen på kort tid. Vänligen försök igen senare.', // Too many login attempts from this IP in a short amount of time. Please try again later. - com_auth_no_account: 'Har du inget konto?', // Don't have an account? - com_auth_sign_up: 'Registrera dig', // Sign up - com_auth_sign_in: 'Logga in', // Sign in - com_auth_google_login: 'Logga in med Google', // Login with Google - com_auth_facebook_login: 'Logga in med Facebook', // Login with Facebook - com_auth_github_login: 'Logga in med Github', // Login with Github - com_auth_discord_login: 'Logga in med Discord', // Login with Discord - com_auth_email: 'E-post', // Email - com_auth_email_required: 'E-post krävs', // Email is required - com_auth_email_min_length: 'E-post måste vara minst 6 tecken', // Email must be at least 6 characters - com_auth_email_max_length: 'E-post får inte vara längre än 120 tecken', // Email should not be longer than 120 characters - com_auth_email_pattern: 'Du måste ange en giltig e-postadress', // You must enter a valid email address - com_auth_email_address: 'E-postadress', // Email address - com_auth_password: 'Lösenord', // Password - com_auth_password_required: 'Lösenord krävs', // Password is required - com_auth_password_min_length: 'Lösenordet måste vara minst 8 tecken', // Password must be at least 8 characters - com_auth_password_max_length: 'Lösenordet får inte vara längre än 128 tecken', // Password must be less than 128 characters - com_auth_password_forgot: 'Glömt lösenord?', // Forgot Password? - com_auth_password_confirm: 'Bekräfta lösenord', // Confirm password - com_auth_password_not_match: 'Lösenorden matchar inte', // Passwords do not match - com_auth_continue: 'Fortsätt', // Continue - com_auth_create_account: 'Skapa ditt konto', // Create your account - com_auth_error_create: 'Det uppstod ett fel när du försökte registrera ditt konto. Vänligen försök igen.', // There was an error attempting to register your account. Please try again. - com_auth_full_name: 'Fullständigt namn', // Full name - com_auth_name_required: 'Namn krävs', // Name is required - com_auth_name_min_length: 'Namnet måste vara minst 3 tecken', // Name must be at least 3 characters - com_auth_name_max_length: 'Namnet får inte vara längre än 80 tecken', // Name must be less than 80 characters - com_auth_username: 'Användarnamn (valfritt)', // Username (optional) - com_auth_username_required: 'Användarnamn krävs', // Username is required - com_auth_username_min_length: 'Användarnamnet måste vara minst 2 tecken', // Username must be at least 2 characters - com_auth_username_max_length: 'Användarnamnet får inte vara längre än 20 tecken', // Username must be less than 20 characters - com_auth_already_have_account: 'Har du redan ett konto?', // Already have an account? - com_auth_login: 'Logga in', // Login - com_auth_reset_password: 'Återställ ditt lösenord', // Reset your password - com_auth_click: 'Klicka', // Click - com_auth_here: 'HÄR', // HERE - com_auth_to_reset_your_password: 'för att återställa ditt lösenord.', // to reset your password. - com_auth_reset_password_link_sent: 'E-post skickad', // Email Sent - com_auth_reset_password_email_sent: 'Ett e-postmeddelande har skickats till dig med ytterligare instruktioner för att återställa ditt lösenord.', // An email has been sent to you with further instructions to reset your password. - com_auth_error_reset_password: 'Det uppstod ett problem med att återställa ditt lösenord. Ingen användare hittades med den angivna e-postadressen. Vänligen försök igen.', // There was a problem resetting your password. There was no user found with the email address provided. Please try again. - com_auth_reset_password_success: 'Lösenordsåterställning lyckades', // Password Reset Success - com_auth_login_with_new_password: 'Du kan nu logga in med ditt nya lösenord.', // You may now login with your new password. - com_auth_error_invalid_reset_token: 'Detta lösenordsåterställningsnyckel är inte längre giltigt.', // This password reset token is no longer valid. - com_auth_click_here: 'Klicka här', // Click here - com_auth_to_try_again: 'för att försöka igen.', // to try again. - com_auth_submit_registration: 'Skicka registrering', // Submit registration - com_auth_welcome_back: 'Välkommen tillbaka', // Welcome back - com_endpoint_open_menu: 'Öppna meny', // Open Menu - com_endpoint_bing_enable_sydney: 'Aktivera Sydney', // Enable Sydney - com_endpoint_bing_to_enable_sydney: 'För att aktivera Sydney', // To enable Sydney - com_endpoint_bing_jailbreak: 'Jailbreak', // Jailbreak - com_endpoint_bing_context_placeholder: 'Bing kan använda upp till 7k tokens för "kontext", som den kan referera till under konversationen. Den specifika gränsen är inte känd men kan stöta på fel om den överstiger 7k tokens', // Bing can use up to 7k tokens for 'context', which it can reference for the conversation. The specific limit is not known but may run into errors exceeding 7k tokens - com_endpoint_bing_system_message_placeholder: 'VARNING: Otillåten användning av denna funktion kan få dig BANNAD från att använda Bing! Klicka på "Systemmeddelande" för fullständiga instruktioner och standardmeddelandet om det utelämnas, vilket är "Sydney"-förinställningen som anses vara säker.', // WARNING: Misuse of this feature can get you BANNED from using Bing! Click on 'System Message' for full instructions and the default message if omitted, which is the 'Sydney' preset that is considered safe. - com_endpoint_system_message: 'Systemmeddelande', // System Message - com_endpoint_default_blank: 'standard: tom', // default: blank - com_endpoint_default_false: 'standard: falsk', // default: false - com_endpoint_default_creative: 'standard: kreativ', // default: creative - com_endpoint_default_empty: 'standard: tom', // default: empty - com_endpoint_default_with_num: 'standard: {0}', // default: {0} - com_endpoint_context: 'Kontext', // Context - com_endpoint_tone_style: 'Tonstil', // Tone Style - com_endpoint_token_count: 'Antal tokens', // Token count - com_endpoint_output: 'Utdata', // Output - com_endpoint_google_temp: 'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.', // Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both. - com_endpoint_google_topp: 'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.', // Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value. - com_endpoint_google_topk: 'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).', // Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model's vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature). - com_endpoint_google_maxoutputtokens: 'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.', // Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses. - com_endpoint_google_custom_name_placeholder: 'Ange ett anpassat namn för PaLM2', // Set a custom name for PaLM2 - com_endpoint_prompt_prefix_placeholder: 'Ange anpassade instruktioner eller kontext. Ignoreras om tom.', // Set custom instructions or context. Ignored if empty. - com_endpoint_custom_name: 'Anpassat namn', // Custom Name - com_endpoint_prompt_prefix: 'Uppmaningsprefix', // Prompt Prefix - com_endpoint_temperature: 'Temperatur', // Temperature - com_endpoint_default: 'standard', // default - com_endpoint_top_p: 'Top P', // Top P - com_endpoint_top_k: 'Top K', // Top K - com_endpoint_max_output_tokens: 'Max utdatatokens', // Max Output Tokens - com_endpoint_openai_temp: 'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.', // Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both. - com_endpoint_openai_max: 'Max tokens att generera. Den totala längden på tokens för inmatning och svar är begränsad av modellen som används.', // The max tokens to generate. The total length of input tokens and generated tokens is limited by the model's context length. - com_endpoint_openai_topp: 'Ett alternativ till temperatur, kallat kärnprovtagning, där modellen beaktar resultaten av tokens med top_p-sannolikhetsmassa. Så 0,1 innebär att endast de tokens som utgör den översta 10% sannolikhetsmassan beaktas. Vi rekommenderar att ändra detta eller temperaturen men inte båda.', // An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We recommend altering this or temperature but not both. - com_endpoint_openai_freq: 'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på deras befintliga frekvens i texten hittills, vilket minskar modellens sannolikhet att upprepa samma rad ordagrant.', // Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. - com_endpoint_openai_pres: 'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på om de förekommer i texten hittills, vilket ökar modellens sannolikhet att prata om nya ämnen.', // Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. - com_endpoint_openai_custom_name_placeholder: 'Ange ett eget namn för ChatGPT', // Set a custom name for ChatGPT - com_endpoint_openai_prompt_prefix_placeholder: 'Ange anpassade instruktioner att inkludera i Systemmeddelande. Standard: inga', // Set custom instructions to include in System Message. Default: none - com_endpoint_anthropic_temp: 'Varierar mellan 0 och 1. Använd temp närmare 0 för analytiska/flervalsfrågor och närmare 1 för kreativa och generativa uppgifter. Vi rekommenderar att ändra detta eller Top P men inte båda.', // Ranges from 0 to 1. Use temp closer to 0 for analytical / multiple choice, and closer to 1 for creative and generative tasks. We recommend altering this or Top P but not both. - com_endpoint_anthropic_topp: 'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.', // Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value. - com_endpoint_anthropic_topk: 'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).', // Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model's vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature). - com_endpoint_anthropic_maxoutputtokens: 'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.', // Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses. - com_endpoint_anthropic_custom_name_placeholder: 'Ange ett anpassat namn för Anthropic', // Set a custom name for Anthropic - com_endpoint_frequency_penalty: 'Frekvensstraff', // Frequency Penalty - com_endpoint_presence_penalty: 'Närvarostraff', // Presence Penalty - com_endpoint_plug_use_functions: 'Använd funktioner', // Use Functions - com_endpoint_plug_skip_completion: 'Hoppa över komplettering', // Skip Completion - com_endpoint_disabled_with_tools: 'inaktiverad med verktyg', // disabled with tools - com_endpoint_disabled_with_tools_placeholder: 'Inaktiverad med valda verktyg', // Disabled with Tools Selected - com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: 'Ange anpassade instruktioner att inkludera i systemmeddelande. Standard: inga', // Set custom instructions to include in System Message. Default: none - com_endpoint_import: 'Importera', // Import - com_endpoint_set_custom_name: 'Ange ett eget namn, om du kan hitta denna förinställning', // Set a custom name, in case you can find this preset - com_endpoint_preset: 'förinställning', // preset - com_endpoint_presets: 'förinställningar', // presets - com_endpoint_preset_name: 'Förinställningsnamn', // Preset Name - com_endpoint_new_topic: 'Nytt ämne', // New Topic - com_endpoint: 'Slutpunkt', // Endpoint - com_endpoint_hide: 'Dölj', // Hide - com_endpoint_show: 'Visa', // Show - com_endpoint_examples: ' Förinställningar', // Presets - com_endpoint_completion: 'Komplettering', // Completion - com_endpoint_agent: 'Agent', // Agent - com_endpoint_show_what_settings: 'Visa {0} inställningar', // Show {0} Settings - com_endpoint_save: 'Spara', // Save - com_endpoint_export: 'Exportera', // Export - com_endpoint_save_as_preset: 'Spara som förinställning', // Save As Preset - com_endpoint_presets_clear_warning: 'Är du säker på att du vill rensa alla förinställningar? Detta går inte att ångra.', // Are you sure you want to clear all presets? This is irreversible. - com_endpoint_not_implemented: 'Ej implementerad', // Not implemented - com_endpoint_no_presets: 'Ingen förinställning ännu', // No preset yet - com_endpoint_not_available: 'Ingen slutpunkt tillgänglig', // No endpoint available - com_endpoint_view_options: 'Visa alternativ', // View Options - com_endpoint_save_convo_as_preset: 'Spara konversation som förinställning', // Save Conversation as Preset - com_endpoint_my_preset: 'Min förinställning', // My Preset - com_endpoint_agent_model: 'Agentmodell (Rekommenderad: GPT-3.5)', // Agent Model (Recommended: GPT-3.5) - com_endpoint_completion_model: 'Kompletteringsmodell (Rekommenderad: GPT-4)', // Completion Model (Recommended: GPT-4) - com_endpoint_func_hover: 'Aktivera användning av tillägg som OpenAI-funktioner', // Enable use of Plugins as OpenAI Functions - com_endpoint_skip_hover: 'Aktivera att hoppa över kompletteringssteg, som granskar det slutliga svaret och genererade steg', // Enable skipping the completion step, which reviews the final answer and generated steps - com_endpoint_config_key: 'Ange API-nyckel', // Set API Key - com_endpoint_config_key_for: 'Ange API-nyckel för', // Set API Key for - com_endpoint_config_key_name: 'Nyckel', // Key - com_endpoint_config_value: 'Ange värde för', // Enter value for - com_endpoint_config_key_name_placeholder: 'Ange API-nyckel först', // Set API key first - com_endpoint_config_key_encryption: 'Din nyckel kommer att krypteras och raderas vid', // Your key will be encrypted and deleted at - com_endpoint_config_key_expiry: 'utgångstiden', // the expiry time - com_endpoint_config_key_import_json_key: 'Importera JSON-nyckel för kontot.', // Import Service Account JSON Key. - com_endpoint_config_key_import_json_key_success: 'Lyckades importera JSON-nyckel för kontot', // Successfully Imported Service Account JSON Key - com_endpoint_config_key_import_json_key_invalid: 'Ogiltig JSON-nyckel för konto, importerade du rätt fil?', // Invalid Service Account JSON Key, Did you import the correct file? - com_endpoint_config_key_get_edge_key: 'För att få din åtkomstnyckel för Bing, logga in på', // To get your Access token for Bing, login to - com_endpoint_config_key_get_edge_key_dev_tool: - 'Använd utvecklingsverktyg eller ett tillägg när du är inloggad på webbplatsen för att kopiera innehållet i _U-cookien. Om detta misslyckas, följ dessa', // Use dev tools or an extension while logged into the site to copy the content of the _U cookie. If this fails, follow these - com_endpoint_config_key_edge_instructions: 'instruktioner', // instructions - com_endpoint_config_key_edge_full_key_string: 'för att tillhandahålla hela cookie-strängarna.', // to provide the full cookie strings. - com_endpoint_config_key_chatgpt: 'För att få din åtkomstnyckel för ChatGPT "Gratisversion", logga in på', // To get your Access token For ChatGPT 'Free Version', login to - com_endpoint_config_key_chatgpt_then_visit: 'sedan besök', // then visit - com_endpoint_config_key_chatgpt_copy_token: 'Kopiera åtkomstnyckel.', // Copy access token. - com_endpoint_config_key_google_need_to: 'Du behöver', // You need to - com_endpoint_config_key_google_vertex_ai: 'Aktivera Vertex AI', // Enable Vertex AI - com_endpoint_config_key_google_vertex_api: 'API på Google Cloud, sedan', // API on Google Cloud, then - com_endpoint_config_key_google_service_account: 'Skapa ett tjänstekonto', // Create a Service Account - com_endpoint_config_key_google_vertex_api_role: - 'Se till att klicka på "Skapa och fortsätt" för att ge åtminstone rollen "Vertex AI-användare". Skapa slutligen en JSON-nyckel att importera här.', // Make sure to click 'Create and Continue' to give at least the 'Vertex AI User' role. Lastly, create a JSON key to import here. - com_nav_export_filename: 'Filnamn', // Filename - com_nav_export_filename_placeholder: 'Ange filnamnet', // Set the filename - com_nav_export_type: 'Typ', // Type - com_nav_export_include_endpoint_options: 'Inkludera slutpunktsalternativ', // Include endpoint options - com_nav_enabled: 'Aktiverad', // Enabled - com_nav_not_supported: 'Stöds ej', // Not Supported - com_nav_export_all_message_branches: 'Exportera alla grenar för meddelanden', // Export all message branches - com_nav_export_recursive_or_sequential: 'Rekursiv eller sekventiell?', // Recursive or sequential? - com_nav_export_recursive: 'Rekursiv', // Recursive - com_nav_export_conversation: 'Exportera konversation', // Export conversation - com_nav_theme: 'Tema', // Theme - com_nav_theme_system: 'System', // System - com_nav_theme_dark: 'Mörkt', // Dark - com_nav_theme_light: 'Ljust', // Light - com_nav_clear_all_chats: 'Rensa alla chattar', // Clear all chats - com_nav_confirm_clear: 'Bekräfta rensning', // Confirm Clear - com_nav_close_sidebar: 'Stäng sidofält', // Close sidebar - com_nav_open_sidebar: 'Öppna sidofält', // Open sidebar - com_nav_log_out: 'Logga ut', // Log out - com_nav_user: 'ANVÄNDARE', // USER - com_nav_clear_conversation: 'Rensa konversationer', // Clear conversations - com_nav_clear_conversation_confirm_message: - 'Är du säker på att du vill rensa alla konversationer? Detta går inte att ångra.', // Are you sure you want to clear all conversations? This is irreversible. - com_nav_help_faq: 'Hjälp & Vanliga frågor', // Help & FAQ - com_nav_settings: 'Inställningar', // Settings - com_nav_search_placeholder: 'Sök meddelanden', // Search messages - com_nav_setting_general: 'Allmänt', // General - com_nav_setting_data: 'Datakontroller', // Data controls -} \ No newline at end of file + com_ui_examples: 'Exempel', // Examples + com_ui_new_chat: 'Ny chatt', // New chat + com_ui_example_quantum_computing: 'Förklara kvantberäkning på enkla termer', // Explain quantum computing in simple terms + com_ui_example_10_year_old_b_day: 'Har du några kreativa idéer till ett 10-årings födelsedag?', // Got any creative ideas for a 10 year old's birthday? + com_ui_example_http_in_js: 'Hur gör jag en HTTP-förfrågan i Javascript?', // How do I make an HTTP request in Javascript? + com_ui_capabilities: 'Möjligheter', // Capabilities + com_ui_capability_remember: 'Kommer ihåg vad användaren sa tidigare i konversationen', // Remembers what user said earlier in the conversation + com_ui_capability_correction: 'Tillåter användaren att ge uppföljande rättelser', // Allows user to provide follow-up corrections + com_ui_capability_decline_requests: 'Tränad för att avvisa olämpliga förfrågningar', // Trained to decline inappropriate requests + com_ui_limitations: 'Begränsningar', // Limitations + com_ui_limitation_incorrect_info: 'Kan ibland generera felaktig information', // May occasionally generate incorrect information + com_ui_limitation_harmful_biased: + 'Kan ibland producera skadliga instruktioner eller snedvridet innehåll', // May occasionally produce harmful instructions or biased content + com_ui_limitation_limited_2021: 'Begränsad kunskap om världen och händelser efter 2021', // Limited knowledge of world and events after 2021 + com_ui_input: 'Inmatning', // Input + com_ui_close: 'Stäng', // Close + com_ui_model: 'Modell', // Model + com_ui_select_model: 'Välj en modell', // Select a model + com_ui_use_prompt: 'Använd prompt', // Use prompt + com_ui_prev: 'Föregående', // Prev + com_ui_next: 'Nästa', // Next + com_ui_prompt_templates: 'Prompt Mallar', // Prompt Templates + com_ui_hide_prompt_templates: 'Dölj Prompt Mallar', // Hide Prompt Templates + com_ui_showing: 'Visar', // Showing + com_ui_of: 'av', // of + com_ui_entries: 'Inlägg', // Entries + com_ui_pay_per_call: 'Alla AI-konversationer på ett ställe. Betala per anrop och inte per månad', // All AI conversations in one place. Pay per call and not per month + com_ui_enter: 'Ange', // Enter + com_ui_submit: 'Skicka', // Submit + com_ui_upload_success: 'Uppladdningen av filen lyckades', // Successfully uploaded file + com_ui_upload_invalid: 'Ogiltig fil för uppladdning', // Invalid file for upload + com_ui_cancel: 'Avbryt', // Cancel + com_ui_save: 'Spara', // Save + com_ui_copy_to_clipboard: 'Kopiera till urklipp', // Copy to clipboard + com_ui_copied_to_clipboard: 'Kopierat till urklipp', // Copied to clipboard + com_ui_regenerate: 'Återskapa', // Regenerate + com_ui_continue: 'Fortsätt', // Continue + com_ui_edit: 'Redigera', // Edit + com_ui_success: 'Lyckades', // Success + com_ui_all: 'alla', // all + com_ui_clear: 'Rensa', // Clear + com_ui_revoke: 'Återkalla', // Revoke + com_ui_revoke_info: 'Återkalla alla användaruppgifter.', // Revoke all user provided credentials. + com_ui_confirm_action: 'Bekräfta åtgärd', // Confirm Action + com_ui_chats: 'chattar', // chats + com_ui_delete: 'Radera', // Delete + com_ui_delete_conversation: 'Radera chatt?', // Delete chat? + com_ui_delete_conversation_confirm: 'Detta kommer att radera', // This will delete + com_auth_error_login: + 'Kunde inte logga in med den angivna informationen. Kontrollera dina uppgifter och försök igen.', // Unable to login with the information provided. Please check your credentials and try again. + com_auth_error_login_rl: + 'För många inloggningsförsök från den här IP-adressen på kort tid. Vänligen försök igen senare.', // Too many login attempts from this IP in a short amount of time. Please try again later. + com_auth_no_account: 'Har du inget konto?', // Don't have an account? + com_auth_sign_up: 'Registrera dig', // Sign up + com_auth_sign_in: 'Logga in', // Sign in + com_auth_google_login: 'Logga in med Google', // Login with Google + com_auth_facebook_login: 'Logga in med Facebook', // Login with Facebook + com_auth_github_login: 'Logga in med Github', // Login with Github + com_auth_discord_login: 'Logga in med Discord', // Login with Discord + com_auth_email: 'E-post', // Email + com_auth_email_required: 'E-post krävs', // Email is required + com_auth_email_min_length: 'E-post måste vara minst 6 tecken', // Email must be at least 6 characters + com_auth_email_max_length: 'E-post får inte vara längre än 120 tecken', // Email should not be longer than 120 characters + com_auth_email_pattern: 'Du måste ange en giltig e-postadress', // You must enter a valid email address + com_auth_email_address: 'E-postadress', // Email address + com_auth_password: 'Lösenord', // Password + com_auth_password_required: 'Lösenord krävs', // Password is required + com_auth_password_min_length: 'Lösenordet måste vara minst 8 tecken', // Password must be at least 8 characters + com_auth_password_max_length: 'Lösenordet får inte vara längre än 128 tecken', // Password must be less than 128 characters + com_auth_password_forgot: 'Glömt lösenord?', // Forgot Password? + com_auth_password_confirm: 'Bekräfta lösenord', // Confirm password + com_auth_password_not_match: 'Lösenorden matchar inte', // Passwords do not match + com_auth_continue: 'Fortsätt', // Continue + com_auth_create_account: 'Skapa ditt konto', // Create your account + com_auth_error_create: + 'Det uppstod ett fel när du försökte registrera ditt konto. Vänligen försök igen.', // There was an error attempting to register your account. Please try again. + com_auth_full_name: 'Fullständigt namn', // Full name + com_auth_name_required: 'Namn krävs', // Name is required + com_auth_name_min_length: 'Namnet måste vara minst 3 tecken', // Name must be at least 3 characters + com_auth_name_max_length: 'Namnet får inte vara längre än 80 tecken', // Name must be less than 80 characters + com_auth_username: 'Användarnamn (valfritt)', // Username (optional) + com_auth_username_required: 'Användarnamn krävs', // Username is required + com_auth_username_min_length: 'Användarnamnet måste vara minst 2 tecken', // Username must be at least 2 characters + com_auth_username_max_length: 'Användarnamnet får inte vara längre än 20 tecken', // Username must be less than 20 characters + com_auth_already_have_account: 'Har du redan ett konto?', // Already have an account? + com_auth_login: 'Logga in', // Login + com_auth_reset_password: 'Återställ ditt lösenord', // Reset your password + com_auth_click: 'Klicka', // Click + com_auth_here: 'HÄR', // HERE + com_auth_to_reset_your_password: 'för att återställa ditt lösenord.', // to reset your password. + com_auth_reset_password_link_sent: 'E-post skickad', // Email Sent + com_auth_reset_password_email_sent: + 'Ett e-postmeddelande har skickats till dig med ytterligare instruktioner för att återställa ditt lösenord.', // An email has been sent to you with further instructions to reset your password. + com_auth_error_reset_password: + 'Det uppstod ett problem med att återställa ditt lösenord. Ingen användare hittades med den angivna e-postadressen. Vänligen försök igen.', // There was a problem resetting your password. There was no user found with the email address provided. Please try again. + com_auth_reset_password_success: 'Lösenordsåterställning lyckades', // Password Reset Success + com_auth_login_with_new_password: 'Du kan nu logga in med ditt nya lösenord.', // You may now login with your new password. + com_auth_error_invalid_reset_token: 'Detta lösenordsåterställningsnyckel är inte längre giltigt.', // This password reset token is no longer valid. + com_auth_click_here: 'Klicka här', // Click here + com_auth_to_try_again: 'för att försöka igen.', // to try again. + com_auth_submit_registration: 'Skicka registrering', // Submit registration + com_auth_welcome_back: 'Välkommen tillbaka', // Welcome back + com_endpoint_open_menu: 'Öppna meny', // Open Menu + com_endpoint_bing_enable_sydney: 'Aktivera Sydney', // Enable Sydney + com_endpoint_bing_to_enable_sydney: 'För att aktivera Sydney', // To enable Sydney + com_endpoint_bing_jailbreak: 'Jailbreak', // Jailbreak + com_endpoint_bing_context_placeholder: + 'Bing kan använda upp till 7k tokens för "kontext", som den kan referera till under konversationen. Den specifika gränsen är inte känd men kan stöta på fel om den överstiger 7k tokens', // Bing can use up to 7k tokens for 'context', which it can reference for the conversation. The specific limit is not known but may run into errors exceeding 7k tokens + com_endpoint_bing_system_message_placeholder: + 'VARNING: Otillåten användning av denna funktion kan få dig BANNAD från att använda Bing! Klicka på "Systemmeddelande" för fullständiga instruktioner och standardmeddelandet om det utelämnas, vilket är "Sydney"-förinställningen som anses vara säker.', // WARNING: Misuse of this feature can get you BANNED from using Bing! Click on 'System Message' for full instructions and the default message if omitted, which is the 'Sydney' preset that is considered safe. + com_endpoint_system_message: 'Systemmeddelande', // System Message + com_endpoint_default_blank: 'standard: tom', // default: blank + com_endpoint_default_false: 'standard: falsk', // default: false + com_endpoint_default_creative: 'standard: kreativ', // default: creative + com_endpoint_default_empty: 'standard: tom', // default: empty + com_endpoint_default_with_num: 'standard: {0}', // default: {0} + com_endpoint_context: 'Kontext', // Context + com_endpoint_tone_style: 'Tonstil', // Tone Style + com_endpoint_token_count: 'Antal tokens', // Token count + com_endpoint_output: 'Utdata', // Output + com_endpoint_google_temp: + 'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.', // Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both. + com_endpoint_google_topp: + 'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.', // Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value. + com_endpoint_google_topk: + 'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).', // Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model's vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature). + com_endpoint_google_maxoutputtokens: + 'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.', // Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses. + com_endpoint_google_custom_name_placeholder: 'Ange ett anpassat namn för PaLM2', // Set a custom name for PaLM2 + com_endpoint_prompt_prefix_placeholder: + 'Ange anpassade instruktioner eller kontext. Ignoreras om tom.', // Set custom instructions or context. Ignored if empty. + com_endpoint_custom_name: 'Anpassat namn', // Custom Name + com_endpoint_prompt_prefix: 'Uppmaningsprefix', // Prompt Prefix + com_endpoint_temperature: 'Temperatur', // Temperature + com_endpoint_default: 'standard', // default + com_endpoint_top_p: 'Top P', // Top P + com_endpoint_top_k: 'Top K', // Top K + com_endpoint_max_output_tokens: 'Max utdatatokens', // Max Output Tokens + com_endpoint_openai_temp: + 'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.', // Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both. + com_endpoint_openai_max: + 'Max tokens att generera. Den totala längden på tokens för inmatning och svar är begränsad av modellen som används.', // The max tokens to generate. The total length of input tokens and generated tokens is limited by the model's context length. + com_endpoint_openai_topp: + 'Ett alternativ till temperatur, kallat kärnprovtagning, där modellen beaktar resultaten av tokens med top_p-sannolikhetsmassa. Så 0,1 innebär att endast de tokens som utgör den översta 10% sannolikhetsmassan beaktas. Vi rekommenderar att ändra detta eller temperaturen men inte båda.', // An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We recommend altering this or temperature but not both. + com_endpoint_openai_freq: + 'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på deras befintliga frekvens i texten hittills, vilket minskar modellens sannolikhet att upprepa samma rad ordagrant.', // Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. + com_endpoint_openai_pres: + 'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på om de förekommer i texten hittills, vilket ökar modellens sannolikhet att prata om nya ämnen.', // Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. + com_endpoint_openai_custom_name_placeholder: 'Ange ett eget namn för ChatGPT', // Set a custom name for ChatGPT + com_endpoint_openai_prompt_prefix_placeholder: + 'Ange anpassade instruktioner att inkludera i Systemmeddelande. Standard: inga', // Set custom instructions to include in System Message. Default: none + com_endpoint_anthropic_temp: + 'Varierar mellan 0 och 1. Använd temp närmare 0 för analytiska/flervalsfrågor och närmare 1 för kreativa och generativa uppgifter. Vi rekommenderar att ändra detta eller Top P men inte båda.', // Ranges from 0 to 1. Use temp closer to 0 for analytical / multiple choice, and closer to 1 for creative and generative tasks. We recommend altering this or Top P but not both. + com_endpoint_anthropic_topp: + 'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.', // Top-p changes how the model selects tokens for output. Tokens are selected from most K (see topK parameter) probable to least until the sum of their probabilities equals the top-p value. + com_endpoint_anthropic_topk: + 'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).', // Top-k changes how the model selects tokens for output. A top-k of 1 means the selected token is the most probable among all tokens in the model's vocabulary (also called greedy decoding), while a top-k of 3 means that the next token is selected from among the 3 most probable tokens (using temperature). + com_endpoint_anthropic_maxoutputtokens: + 'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.', // Maximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses. + com_endpoint_anthropic_custom_name_placeholder: 'Ange ett anpassat namn för Anthropic', // Set a custom name for Anthropic + com_endpoint_frequency_penalty: 'Frekvensstraff', // Frequency Penalty + com_endpoint_presence_penalty: 'Närvarostraff', // Presence Penalty + com_endpoint_plug_use_functions: 'Använd funktioner', // Use Functions + com_endpoint_plug_skip_completion: 'Hoppa över komplettering', // Skip Completion + com_endpoint_disabled_with_tools: 'inaktiverad med verktyg', // disabled with tools + com_endpoint_disabled_with_tools_placeholder: 'Inaktiverad med valda verktyg', // Disabled with Tools Selected + com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: + 'Ange anpassade instruktioner att inkludera i systemmeddelande. Standard: inga', // Set custom instructions to include in System Message. Default: none + com_endpoint_import: 'Importera', // Import + com_endpoint_set_custom_name: 'Ange ett eget namn, om du kan hitta denna förinställning', // Set a custom name, in case you can find this preset + com_endpoint_preset: 'förinställning', // preset + com_endpoint_presets: 'förinställningar', // presets + com_endpoint_preset_name: 'Förinställningsnamn', // Preset Name + com_endpoint_new_topic: 'Nytt ämne', // New Topic + com_endpoint: 'Slutpunkt', // Endpoint + com_endpoint_hide: 'Dölj', // Hide + com_endpoint_show: 'Visa', // Show + com_endpoint_examples: ' Förinställningar', // Presets + com_endpoint_completion: 'Komplettering', // Completion + com_endpoint_agent: 'Agent', // Agent + com_endpoint_show_what_settings: 'Visa {0} inställningar', // Show {0} Settings + com_endpoint_save: 'Spara', // Save + com_endpoint_export: 'Exportera', // Export + com_endpoint_save_as_preset: 'Spara som förinställning', // Save As Preset + com_endpoint_presets_clear_warning: + 'Är du säker på att du vill rensa alla förinställningar? Detta går inte att ångra.', // Are you sure you want to clear all presets? This is irreversible. + com_endpoint_not_implemented: 'Ej implementerad', // Not implemented + com_endpoint_no_presets: 'Ingen förinställning ännu', // No preset yet + com_endpoint_not_available: 'Ingen slutpunkt tillgänglig', // No endpoint available + com_endpoint_view_options: 'Visa alternativ', // View Options + com_endpoint_save_convo_as_preset: 'Spara konversation som förinställning', // Save Conversation as Preset + com_endpoint_my_preset: 'Min förinställning', // My Preset + com_endpoint_agent_model: 'Agentmodell (Rekommenderad: GPT-3.5)', // Agent Model (Recommended: GPT-3.5) + com_endpoint_completion_model: 'Kompletteringsmodell (Rekommenderad: GPT-4)', // Completion Model (Recommended: GPT-4) + com_endpoint_func_hover: 'Aktivera användning av tillägg som OpenAI-funktioner', // Enable use of Plugins as OpenAI Functions + com_endpoint_skip_hover: + 'Aktivera att hoppa över kompletteringssteg, som granskar det slutliga svaret och genererade steg', // Enable skipping the completion step, which reviews the final answer and generated steps + com_endpoint_config_key: 'Ange API-nyckel', // Set API Key + com_endpoint_config_key_for: 'Ange API-nyckel för', // Set API Key for + com_endpoint_config_key_name: 'Nyckel', // Key + com_endpoint_config_value: 'Ange värde för', // Enter value for + com_endpoint_config_key_name_placeholder: 'Ange API-nyckel först', // Set API key first + com_endpoint_config_key_encryption: 'Din nyckel kommer att krypteras och raderas vid', // Your key will be encrypted and deleted at + com_endpoint_config_key_expiry: 'utgångstiden', // the expiry time + com_endpoint_config_key_import_json_key: 'Importera JSON-nyckel för kontot.', // Import Service Account JSON Key. + com_endpoint_config_key_import_json_key_success: 'Lyckades importera JSON-nyckel för kontot', // Successfully Imported Service Account JSON Key + com_endpoint_config_key_import_json_key_invalid: + 'Ogiltig JSON-nyckel för konto, importerade du rätt fil?', // Invalid Service Account JSON Key, Did you import the correct file? + com_endpoint_config_key_get_edge_key: 'För att få din åtkomstnyckel för Bing, logga in på', // To get your Access token for Bing, login to + com_endpoint_config_key_get_edge_key_dev_tool: + 'Använd utvecklingsverktyg eller ett tillägg när du är inloggad på webbplatsen för att kopiera innehållet i _U-cookien. Om detta misslyckas, följ dessa', // Use dev tools or an extension while logged into the site to copy the content of the _U cookie. If this fails, follow these + com_endpoint_config_key_edge_instructions: 'instruktioner', // instructions + com_endpoint_config_key_edge_full_key_string: 'för att tillhandahålla hela cookie-strängarna.', // to provide the full cookie strings. + com_endpoint_config_key_chatgpt: + 'För att få din åtkomstnyckel för ChatGPT "Gratisversion", logga in på', // To get your Access token For ChatGPT 'Free Version', login to + com_endpoint_config_key_chatgpt_then_visit: 'sedan besök', // then visit + com_endpoint_config_key_chatgpt_copy_token: 'Kopiera åtkomstnyckel.', // Copy access token. + com_endpoint_config_key_google_need_to: 'Du behöver', // You need to + com_endpoint_config_key_google_vertex_ai: 'Aktivera Vertex AI', // Enable Vertex AI + com_endpoint_config_key_google_vertex_api: 'API på Google Cloud, sedan', // API on Google Cloud, then + com_endpoint_config_key_google_service_account: 'Skapa ett tjänstekonto', // Create a Service Account + com_endpoint_config_key_google_vertex_api_role: + 'Se till att klicka på "Skapa och fortsätt" för att ge åtminstone rollen "Vertex AI-användare". Skapa slutligen en JSON-nyckel att importera här.', // Make sure to click 'Create and Continue' to give at least the 'Vertex AI User' role. Lastly, create a JSON key to import here. + com_nav_export_filename: 'Filnamn', // Filename + com_nav_export_filename_placeholder: 'Ange filnamnet', // Set the filename + com_nav_export_type: 'Typ', // Type + com_nav_export_include_endpoint_options: 'Inkludera slutpunktsalternativ', // Include endpoint options + com_nav_enabled: 'Aktiverad', // Enabled + com_nav_not_supported: 'Stöds ej', // Not Supported + com_nav_export_all_message_branches: 'Exportera alla grenar för meddelanden', // Export all message branches + com_nav_export_recursive_or_sequential: 'Rekursiv eller sekventiell?', // Recursive or sequential? + com_nav_export_recursive: 'Rekursiv', // Recursive + com_nav_export_conversation: 'Exportera konversation', // Export conversation + com_nav_theme: 'Tema', // Theme + com_nav_theme_system: 'System', // System + com_nav_theme_dark: 'Mörkt', // Dark + com_nav_theme_light: 'Ljust', // Light + com_nav_clear_all_chats: 'Rensa alla chattar', // Clear all chats + com_nav_confirm_clear: 'Bekräfta rensning', // Confirm Clear + com_nav_close_sidebar: 'Stäng sidofält', // Close sidebar + com_nav_open_sidebar: 'Öppna sidofält', // Open sidebar + com_nav_log_out: 'Logga ut', // Log out + com_nav_user: 'ANVÄNDARE', // USER + com_nav_clear_conversation: 'Rensa konversationer', // Clear conversations + com_nav_clear_conversation_confirm_message: + 'Är du säker på att du vill rensa alla konversationer? Detta går inte att ångra.', // Are you sure you want to clear all conversations? This is irreversible. + com_nav_help_faq: 'Hjälp & Vanliga frågor', // Help & FAQ + com_nav_settings: 'Inställningar', // Settings + com_nav_search_placeholder: 'Sök meddelanden', // Search messages + com_nav_setting_general: 'Allmänt', // General + com_nav_setting_data: 'Datakontroller', // Data controls +}; diff --git a/client/src/store/language.ts b/client/src/store/language.ts index 18e61a38fe..4c0d39911a 100644 --- a/client/src/store/language.ts +++ b/client/src/store/language.ts @@ -2,7 +2,7 @@ import { atom } from 'recoil'; const lang = atom({ key: 'lang', - default: 'en', + default: localStorage.getItem('lang') || 'en', }); export default { lang };