LibreChat/client/src/localization/languages/Es.ts

2718 lines
109 KiB
TypeScript
Raw Normal View History

// Spanish phrases
// file deepcode ignore NoHardcodedPasswords: No hardcoded values present in this file
// file deepcode ignore HardcodedNonCryptoSecret: No hardcoded secrets present in this file
export default {
com_files_no_results: 'Sin resultados.',
com_files_filter: 'Filtrar archivos...',
com_files_number_selected: '{0} de {1} archivo(s) seleccionado(s)',
com_sidepanel_select_assistant: 'Seleccionar un Asistente',
com_sidepanel_assistant_builder: 'Creador de Asistentes',
com_sidepanel_hide_panel: 'Ocultar Panel',
com_sidepanel_attach_files: 'Adjuntar Archivos',
com_sidepanel_manage_files: 'Administrar Archivos',
com_assistants_capabilities: 'Capacidades',
com_assistants_knowledge: 'Conocimiento',
com_assistants_knowledge_info:
'Si sube archivos en Conocimiento, las conversaciones con su Asistente pueden incluir el contenido de los archivos.',
com_assistants_knowledge_disabled:
'El Asistente debe ser creado, y el Intérprete de Código o la Recuperación deben estar habilitados y guardados antes de subir archivos como Conocimiento.',
com_assistants_image_vision: 'Visión de Imagen',
com_assistants_code_interpreter: 'Intérprete de Código',
com_assistants_code_interpreter_files:
'Los siguientes archivos solo están disponibles para el Intérprete de Código:',
com_assistants_retrieval: 'Recuperación',
com_assistants_search_name: 'Buscar asistentes por nombre',
com_assistants_tools: 'Herramientas',
com_assistants_actions: 'Acciones',
com_assistants_add_tools: 'Añadir Herramientas',
com_assistants_add_actions: 'Añadir Acciones',
com_assistants_available_actions: 'Acciones Disponibles',
com_assistants_running_action: 'Ejecutando acción',
com_assistants_completed_action: 'Hablé con {0}',
com_assistants_completed_function: 'Ejecuté {0}',
com_assistants_function_use: 'El Asistente usó {0}',
com_assistants_domain_info: 'El Asistente envió esta información a {0}',
com_assistants_delete_actions_success: 'Acción eliminada del Asistente con éxito',
com_assistants_update_actions_success: 'Acción creada o actualizada con éxito',
com_assistants_update_actions_error: 'Hubo un error al crear o actualizar la acción.',
com_assistants_delete_actions_error: 'Hubo un error al eliminar la acción.',
com_assistants_actions_info:
'Permita que su Asistente recupere información o realice acciones a través de API\'s',
com_assistants_name_placeholder: 'Opcional: El nombre del asistente',
com_assistants_instructions_placeholder: 'Las instrucciones del sistema que utiliza el asistente',
com_assistants_description_placeholder: 'Opcional: Describa su Asistente aquí',
com_assistants_actions_disabled: 'Necesita crear un asistente antes de añadir acciones.',
com_assistants_update_success: 'Actualizado con éxito',
com_assistants_update_error: 'Hubo un error al actualizar su asistente.',
com_assistants_create_success: 'Creado con éxito',
com_assistants_create_error: 'Hubo un error al crear su asistente.',
com_ui_attach_error_type: 'Tipo de archivo no admitido para el endpoint:',
com_ui_attach_error_size: 'Se excedió el límite de tamaño de archivo para el endpoint:',
com_ui_attach_error:
'No se puede adjuntar el archivo. Cree o seleccione una conversación, o intente actualizar la página.',
com_ui_examples: 'Ejemplos',
com_ui_new_chat: 'Nuevo Chat',
com_ui_happy_birthday: '¡Es mi primer cumpleaños!',
com_ui_example_quantum_computing: 'Explique la computación cuántica en términos sencillos',
com_ui_example_10_year_old_b_day:
'¿Tiene alguna idea creativa para el cumpleaños de un niño de 10 años?',
com_ui_example_http_in_js: '¿Cómo hago una solicitud HTTP en Javascript?',
com_ui_capabilities: 'Capacidades',
com_ui_capability_remember: 'Recuerda lo que el usuario dijo anteriormente en la conversación',
com_ui_capability_correction: 'Permite que el usuario proporcione correcciones de seguimiento',
com_ui_capability_decline_requests: 'Entrenado para rechazar solicitudes inapropiadas',
com_ui_limitations: 'Limitaciones',
com_ui_limitation_incorrect_info: 'Ocasionalmente puede generar información incorrecta',
com_ui_limitation_harmful_biased:
'Ocasionalmente puede producir instrucciones dañinas o contenido sesgado',
com_ui_limitation_limited_2021: 'Conocimiento limitado del mundo y eventos posteriores a 2021',
com_ui_experimental: 'Funciones Experimentales',
com_ui_ascending: 'Asc',
com_ui_descending: 'Desc',
com_ui_show_all: 'Mostrar Todo',
com_ui_name: 'Nombre',
com_ui_date: 'Fecha',
com_ui_storage: 'Almacenamiento',
com_ui_context: 'Contexto',
com_ui_size: 'Tamaño',
com_ui_host: 'Host',
com_ui_update: 'Actualizar',
com_ui_authentication: 'Autenticación',
com_ui_instructions: 'Instrucciones',
com_ui_description: 'Descripción',
com_ui_error: 'Error',
com_ui_select: 'Seleccionar',
com_ui_input: 'Entrada',
com_ui_close: 'Cerrar',
com_ui_model: 'Modelo',
com_ui_select_model: 'Seleccionar un modelo',
com_ui_select_search_model: 'Buscar modelo por nombre',
com_ui_select_search_plugin: 'Buscar plugin por nombre',
com_ui_use_prompt: 'Usar prompt',
com_ui_prev: 'Ant',
com_ui_next: 'Sig',
com_ui_stop: 'Detener',
com_ui_upload_files: 'Subir archivos',
com_ui_prompt_templates: 'Plantillas de Prompt',
com_ui_hide_prompt_templates: 'Ocultar Plantillas de Prompt',
com_ui_showing: 'Mostrando',
com_ui_of: 'de',
com_ui_entries: 'Entradas',
com_ui_pay_per_call:
'Todas las conversaciones de IA en un mismo lugar. Pague por llamada y no por mes',
com_ui_new_footer: 'Todas las conversaciones de IA en un mismo lugar.',
com_ui_enter: 'Intro',
com_ui_submit: 'Enviar',
com_ui_upload_success: 'Archivo subido con éxito',
com_ui_upload_error: 'Hubo un error al subir su archivo',
com_ui_upload_invalid: 'Archivo inválido para subir. Debe ser una imagen que no exceda los 2 MB',
com_ui_cancel: 'Cancelar',
com_ui_save: 'Guardar',
com_ui_save_submit: 'Guardar y Enviar',
com_user_message: 'Usted',
com_ui_copy_to_clipboard: 'Copiar al portapapeles',
com_ui_copied_to_clipboard: 'Copiado al portapapeles',
com_ui_regenerate: 'Regenerar',
com_ui_continue: 'Continuar',
com_ui_edit: 'Editar',
com_ui_success: 'Éxito',
com_ui_all: 'todas',
com_ui_clear: 'Limpiar',
com_ui_revoke: 'Revocar',
com_ui_revoke_info: 'Revocar todas las credenciales proporcionadas por el usuario',
📥 feat: Import Conversations from LibreChat, ChatGPT, Chatbot UI (#2355) * Basic implementation of ChatGPT conversation import * remove debug code * Handle citations * Fix updatedAt in import * update default model * Use job scheduler to handle import requests * import job status endpoint * Add wrapper around Agenda * Rate limits for import endpoint * rename import api path * Batch save import to mongo * Improve naming * Add documenting comments * Test for importers * Change button for importing conversations * Frontend changes * Import job status endpoint * Import endpoint response * Add translations to new phrases * Fix conversations refreshing * cleanup unused functions * set timeout for import job status polling * Add documentation * get extra spaces back * Improve error message * Fix translation files after merge * fix translation files 2 * Add zh translation for import functionality * Sync mailisearch index after import * chore: add dummy uri for jest tests, as MONGO_URI should only be real for E2E tests * docs: fix links * docs: fix conversationsImport section * fix: user role issue for librechat imports * refactor: import conversations from json - organize imports - add additional jsdocs - use multer with diskStorage to avoid loading file into memory outside of job - use filepath instead of loading data string for imports - replace console logs and some logger.info() with logger.debug - only use multer for import route * fix: undefined metadata edge case and replace ChatGtp -> ChatGpt * Refactor importChatGptConvo function to handle undefined metadata edge case and replace ChatGtp with ChatGpt * fix: chatgpt importer * feat: maintain tree relationship for librechat messages * chore: use enum * refactor: saveMessage to use single object arg, replace console logs, add userId to log message * chore: additional comment * chore: multer edge case * feat: first pass, maintain tree relationship * chore: organize * chore: remove log * ci: add heirarchy test for chatgpt * ci: test maintaining of heirarchy for librechat * wip: allow non-text content type messages * refactor: import content part object json string * refactor: more content types to format * chore: consolidate messageText formatting * docs: update on changes, bump data-provider/config versions, update readme * refactor(indexSync): singleton pattern for MeiliSearchClient * refactor: debug log after batch is done * chore: add back indexSync error handling --------- Co-authored-by: jakubmieszczak <jakub.mieszczak@zendesk.com> Co-authored-by: Danny Avila <danny@librechat.ai>
2024-05-02 08:48:26 +02:00
com_ui_import_conversation: 'Importar',
com_ui_import_conversation_info: 'Importar chats de un archivo JSON',
com_ui_import_conversation_success: 'Chats importados exitosamente',
com_ui_import_conversation_error: 'Hubo un error al importar tus chats',
com_ui_confirm_action: 'Confirmar Acción',
com_ui_chats: 'conversaciones',
com_ui_avatar: 'Avatar',
com_ui_unknown: 'Desconocido',
com_ui_result: 'Resultado',
com_ui_image_gen: 'Gen Imágenes',
com_ui_assistant: 'Asistente',
com_ui_assistants: 'Asistentes',
com_ui_attachment: 'Adjunto',
com_ui_assistants_output: 'Salida de Asistentes',
com_ui_delete: 'Eliminar',
com_ui_create: 'Crear',
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_share: 'Share',
com_ui_share_link_to_chat: 'Share link to chat',
com_ui_share_error: 'There was an error sharing the chat link',
com_ui_share_create_message: 'Your name and any messages you add after sharing stay private.',
com_ui_share_created_message:
'A public link to your chat has been created. Manage previously shared chats at any time via Settings.',
com_ui_share_update_message:
'Your name, custom instructions, and any messages you add after sharing stay private.',
com_ui_share_updated_message:
'A public link to your chat has been updated. Manage previously shared chats at any time via Settings.',
com_ui_shared_link_not_found: 'Shared link not found',
com_ui_delete_conversation: '¿Eliminar Chat?',
com_ui_delete_conversation_confirm: 'Esto eliminará',
com_ui_delete_assistant_confirm:
'¿Está seguro de que desea eliminar este Asistente? Esta acción no se puede deshacer.',
🚀feat: Archive conversations (#2590) * 🔧chore: add internationalization labels for archive feature * ✨ feat: Add function to useArchiveConversationMutation() This commit adds a new mutation function `useArchiveConversationMutation()` for archiving conversations. This function takes the ID string of the conversation to be archived and returns a mutation result object. Upon successful archiving, it removes and refreshes the conversation from the query data cache. While ChatGPT PATCHes the archived status by sending `{is_archived: true}` to the URL `/backend-api/conversation/$conversation_id`, this implementation uses the `dataService.updateConversation(payload)` with a POST method, aligning with the existing code conventions. * ✨ feat(api): add is_archived field to Conversation schema and update getConvosByPage method This commit adds a new field `is_archived` with a default value of false to the Conversation schema. It also modifies the `getConvosByPage` method within the Conversation API to adjust the query to only target conversations where `is_archived` is set to false or where the `is_archived` field does not exist. The function `getConvosQueried`, which returns conversations for a specified Conversation ID, was determined not to require consideration of whether `is_archived` is true or false, and thus was not modified. * ♻️ refactor: add className prop to DotsIcon component To enhance the versatility of the DotsIcon component, this commit introduces the ability to specify a className prop, allowing for greater customization. * ✨ feat(ui): add Edit Button to group Title change and Conversation delete buttons Added a new Edit Button to the conversations, similar to the ChatGPT UI, which groups options for editing the conversation title and deleting conversations. This grouping is accessible through a dialogue that appears when the three-dot icon is clicked. * ♻️ refactor(ui): enhance Delete Button to accept className and label options Enhanced the Delete Button component to accept a `className` for customization and an optional `appendLabel`. The DeleteButton component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * ♻️ refactor(ui): enhance RenameButton to accept label options Added the ability to optionally display labels; the Rename Button component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * 🔧 chors: additional localization labels * ♻️ refactor: change is_archived property of conversation to camelCase * Refactor the is_archived property of conversation to camelCase (isArchived) to adhere to the existing code conventions * Modify the function that retrieves conversations to accept the isArchived parameter * ♻️ refactor: add archiveConversation mutation I thought I could divert dataService.updateConversation, but added a new archiveConversation because the request types are different. It might be better to make them common, but to avoid side effects, I added a new function this time. Added process to deleteConversationMutation to delete archived conversations * ✨ feat: Add the function to hide a cancel button in DialogTemplate component The Cancel button is not needed when displaying the archive list, so I made the Cancel button optional. * ♻️ refactor: Add support for filtering archived conversations in Nav component This commit modifies the Nav component to add the ability to filter out archived conversations when fetching data. This is done by adding `isArchived: false` to the query parameters for both the `useConversationsInfiniteQuery()` and `useSearchInfiniteQuery()` hooks, effectively excluding any archived conversations from the results returned. * ♻️ refactor: add Tooltip to DeleteButton * Add Tooltip to DeleteButton component * Display Tooltip when DeleteButton only shows an Icon without text * ✨ feat(ui): add ArchiveButton component for archiving conversations To be compatible with the ChatGPT UI, no confirmation dialog is displayed when ArchiveButton is clicked. The basic behavior conforms to DeleteButton and RenameButton. * ✨ feat(ui): add Archive button to list of conversations Modify the Nav of the conversation list to include a dropdown that contains the Rename and Delete options, similar to the ChatGPT UI. Additionally, an Archive button has been added adjacent to the dropdown menu. * ✨ feat: Add ArchivedChatsTable component Adds the `ArchivedChatsTable` component, which displays a table of archived chats. It has been implemented to be as compatible with the ChatGPT UI as possible. * 🚑 fix(tooltip): increase z-index to ensure visibility over Dialog Resolve an issue where tooltips were not visible when displayed over a Dialog. The z-index of `DialogPrimitive.Portal` in `Dialog.tsx` is set to 999. Since the rationale for this value is unclear, the z-index of the tooltip has been increased to 1000 to guarantee its visibility above the Dialog component. * 🔧 chors: add internationalization labels
2024-05-06 20:07:00 -07:00
com_ui_rename: 'Renombrar',
com_ui_archive: 'Archivar',
com_ui_archive_error: 'Error al archivar la conversación',
com_ui_unarchive: 'Desarchivar',
com_ui_unarchive_error: 'Error al desarchivar la conversación',
com_ui_more_options: 'Más',
com_ui_preview: 'Previsualizar',
com_ui_upload: 'Subir',
com_ui_connect: 'Conectar',
com_ui_upload_delay:
'La carga de "{0}" está tomando más tiempo del esperado. Espere mientras el archivo termina de indexarse para su recuperación.',
com_ui_privacy_policy: 'Política de privacidad',
com_ui_terms_of_service: 'Términos de servicio',
com_auth_error_login:
'No se puede iniciar sesión con la información proporcionada. Verifique sus credenciales y vuelva a intentarlo.',
com_auth_error_login_rl:
'Demasiados intentos de inicio de sesión en un corto período de tiempo. Inténtelo de nuevo más tarde.',
com_auth_error_login_ban:
'Su cuenta ha sido bloqueada temporalmente debido a violaciones de nuestro servicio.',
com_auth_error_login_server:
'Hubo un error interno del servidor. Espere unos momentos y vuelva a intentarlo.',
com_auth_no_account: '¿No tiene una cuenta?',
com_auth_sign_up: 'Regístrese',
com_auth_sign_in: 'Iniciar sesión',
com_auth_google_login: 'Continuar con Google',
com_auth_facebook_login: 'Continuar con Facebook',
com_auth_github_login: 'Continuar con Github',
com_auth_discord_login: 'Continuar con Discord',
com_auth_email: 'Correo electrónico',
com_auth_email_required: 'Se requiere correo electrónico',
com_auth_email_min_length: 'El correo electrónico debe tener al menos 6 caracteres',
com_auth_email_max_length: 'El correo electrónico no debe tener más de 120 caracteres',
com_auth_email_pattern: 'Debe ingresar una dirección de correo electrónico válida',
com_auth_email_address: 'Dirección de correo electrónico',
com_auth_password: 'Contraseña',
com_auth_password_required: 'Se requiere contraseña',
com_auth_password_min_length: 'La contraseña debe tener al menos 8 caracteres',
com_auth_password_max_length: 'La contraseña debe tener menos de 128 caracteres',
com_auth_password_forgot: '¿Olvidó su contraseña?',
com_auth_password_confirm: 'Confirmar contraseña',
com_auth_password_not_match: 'Las contraseñas no coinciden',
com_auth_continue: 'Continuar',
com_auth_create_account: 'Crear su cuenta',
com_auth_error_create: 'Hubo un error al intentar registrar su cuenta. Inténtelo de nuevo.',
com_auth_full_name: 'Nombre completo',
com_auth_name_required: 'Se requiere nombre',
com_auth_name_min_length: 'El nombre debe tener al menos 3 caracteres',
com_auth_name_max_length: 'El nombre debe tener menos de 80 caracteres',
com_auth_username: 'Nombre de usuario (opcional)',
com_auth_username_required: 'Se requiere nombre de usuario',
com_auth_username_min_length: 'El nombre de usuario debe tener al menos 2 caracteres',
com_auth_username_max_length: 'El nombre de usuario debe tener menos de 20 caracteres',
com_auth_already_have_account: '¿Ya tiene una cuenta?',
com_auth_login: 'Iniciar sesión',
com_auth_reset_password: 'Restablecer su contraseña',
com_auth_click: 'Haga clic',
com_auth_here: 'AQUÍ',
com_auth_to_reset_your_password: 'para restablecer su contraseña.',
com_auth_reset_password_link_sent: 'Correo electrónico enviado',
com_auth_reset_password_email_sent:
'Se le ha enviado un correo electrónico con más instrucciones para restablecer su contraseña.',
com_auth_error_reset_password:
'Hubo un problema al restablecer su contraseña. No se encontró ningún usuario con la dirección de correo electrónico proporcionada. Inténtelo de nuevo.',
com_auth_reset_password_success: 'Éxito al restablecer la contraseña',
com_auth_login_with_new_password: 'Ahora puede iniciar sesión con su nueva contraseña.',
com_auth_error_invalid_reset_token:
'Este token de restablecimiento de contraseña ya no es válido.',
com_auth_click_here: 'Haz clic aquí',
com_auth_to_try_again: 'para intentar de nuevo.',
com_auth_submit_registration: 'Enviar registro',
com_auth_welcome_back: 'Bienvenido de nuevo',
com_auth_back_to_login: 'Volver al inicio de sesión',
com_endpoint_open_menu: 'Abrir menú',
com_endpoint_bing_enable_sydney: 'Habilitar Sydney',
com_endpoint_bing_to_enable_sydney: 'Para habilitar Sydney',
com_endpoint_bing_jailbreak: 'Jailbreak',
com_endpoint_bing_context_placeholder:
'Bing puede utilizar hasta 7k tokens para el \'contexto\', al que puede hacer referencia en la conversación. El límite específico no se conoce, pero puede producir errores si se exceden los 7k tokens',
com_endpoint_bing_system_message_placeholder:
'ADVERTENCIA: El mal uso de esta función puede hacer que te PROHÍBAN el uso de Bing. Haz clic en \'Mensaje del sistema\' para ver las instrucciones completas y el mensaje predeterminado si se omite, que es la configuración preestablecida \'Sydney\' que se considera segura.',
com_endpoint_system_message: 'Mensaje del sistema',
com_endpoint_message: 'Mensaje',
com_endpoint_message_not_appendable: 'Edita tu mensaje o regénera.',
com_endpoint_default_blank: 'predeterminado: en blanco',
com_endpoint_default_false: 'predeterminado: falso',
com_endpoint_default_creative: 'predeterminado: creativo',
com_endpoint_default_empty: 'predeterminado: vacío',
com_endpoint_default_with_num: 'predeterminado: {0}',
com_endpoint_context: 'Contexto',
com_endpoint_tone_style: 'Estilo de tono',
com_endpoint_token_count: 'Recuento de tokens',
com_endpoint_output: 'Salida',
com_endpoint_google_temp:
'Los valores más altos = más aleatorios, mientras que los valores más bajos = más enfocados y deterministas. Recomendamos alterar esto o Top P, pero no ambos.',
com_endpoint_google_topp:
'Top-p cambia la forma en que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde los más K (ver parámetro topK) probables hasta los menos probables hasta que la suma de sus probabilidades sea igual al valor top-p.',
com_endpoint_google_topk:
'Top-k cambia la forma en que el modelo selecciona tokens para la salida. Un top-k de 1 significa que el token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un top-k de 3 significa que el siguiente token se selecciona entre los 3 tokens más probables (usando temperatura).',
com_endpoint_google_maxoutputtokens:
'Número máximo de tokens que se pueden generar en la respuesta. Especifique un valor más bajo para respuestas más cortas y un valor más alto para respuestas más largas.',
com_endpoint_google_custom_name_placeholder: 'Establecer un nombre personalizado para Google',
com_endpoint_prompt_prefix_placeholder:
'Configurar instrucciones personalizadas o contexto. Se ignora si está vacío.',
com_endpoint_instructions_assistants_placeholder:
'Anula las instrucciones del asistente. Esto es útil para modificar el comportamiento por ejecución.',
com_endpoint_prompt_prefix_assistants_placeholder:
'Establecer instrucciones o contexto adicionales además de las instrucciones principales del Asistente. Se ignora si está vacío.',
com_endpoint_custom_name: 'Nombre personalizado',
com_endpoint_prompt_prefix: 'Instrucciones personalizadas',
com_endpoint_prompt_prefix_assistants: 'Instrucciones adicionales',
com_endpoint_instructions_assistants: 'Anular instrucciones',
com_endpoint_temperature: 'Temperatura',
com_endpoint_default: 'predeterminado',
com_endpoint_top_p: 'Top P',
com_endpoint_top_k: 'Top K',
com_endpoint_max_output_tokens: 'Tokens de Salida Máximos',
com_endpoint_openai_temp:
'Los valores más altos = más aleatorios, mientras que los valores más bajos = más enfocados y deterministas. Recomendamos alterar esto o Top P, pero no ambos.',
com_endpoint_openai_max:
'Los tokens máximos a generar. La longitud total de los tokens de entrada y los tokens generados está limitada por la longitud del contexto del modelo.',
com_endpoint_openai_topp:
'Una alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con la masa de probabilidad superior al top_p. Entonces, 0.1 significa que solo se consideran los tokens que comprenden la masa de probabilidad superior al 10%. Recomendamos alterar esto o la temperatura, pero no ambos.',
com_endpoint_openai_freq:
'Número entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens basados en su frecuencia existente en el texto hasta el momento, disminuyendo la probabilidad del modelo de repetir la misma línea textualmente.',
com_endpoint_openai_pres:
'Número entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens basados en si aparecen o no en el texto hasta el momento, aumentando la probabilidad del modelo de hablar sobre nuevos temas.',
com_endpoint_openai_resend:
'Reenviar todas las imágenes adjuntas previamente. Nota: esto puede aumentar significativamente el costo de tokens y puede experimentar errores con muchos archivos adjuntos de imágenes.',
com_endpoint_openai_resend_files:
'Reenviar todos los archivos adjuntos anteriormente. Nota: esto aumentará el costo de tokens y puede experimentar errores con muchos archivos adjuntos.',
com_endpoint_openai_detail:
'La resolución para las solicitudes de Vision. "Baja" es más económica y rápida, "Alta" es más detallada y costosa, y "Automática" elegirá automáticamente entre las dos en función de la resolución de la imagen.',
com_endpoint_openai_custom_name_placeholder: 'Establecer un nombre personalizado para ChatGPT',
com_endpoint_openai_prompt_prefix_placeholder:
'Establecer instrucciones personalizadas para incluir en el Mensaje del sistema. Predeterminado: ninguno',
com_endpoint_anthropic_temp:
'Rango de 0 a 1. Utilice una temperatura más cercana a 0 para tareas analíticas/de opción múltiple y más cercana a 1 para tareas creativas y generativas. Recomendamos alterar esto o Top P, pero no ambos.',
com_endpoint_anthropic_topp:
'Top-p cambia la forma en que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde los más K (ver parámetro topK) probables hasta los menos probables hasta que la suma de sus probabilidades sea igual al valor top-p.',
com_endpoint_anthropic_topk:
'Top-k cambia la forma en que el modelo selecciona tokens para la salida. Un top-k de 1 significa que el token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un top-k de 3 significa que el siguiente token se selecciona entre los 3 tokens más probables (usando temperatura).',
com_endpoint_anthropic_maxoutputtokens:
'Número máximo de tokens que se pueden generar en la respuesta. Especifique un valor más bajo para respuestas más cortas y un valor más alto para respuestas más largas.',
com_endpoint_anthropic_custom_name_placeholder:
'Establecer un nombre personalizado para Anthropic',
com_endpoint_frequency_penalty: 'Penalización de frecuencia',
com_endpoint_presence_penalty: 'Penalización de presencia',
com_endpoint_plug_use_functions: 'Utilizar funciones',
com_endpoint_plug_resend_files: 'Reenviar archivos',
com_endpoint_plug_resend_images: 'Reenviar imágenes',
com_endpoint_plug_image_detail: 'Detalle de imagen',
com_endpoint_plug_skip_completion: 'Omitir finalización',
com_endpoint_disabled_with_tools: 'deshabilitado con herramientas',
com_endpoint_disabled_with_tools_placeholder: 'Deshabilitado con herramientas seleccionadas',
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
'Establecer instrucciones personalizadas para incluir en el Mensaje del sistema. Predeterminado: ninguno',
com_endpoint_import: 'Importar',
com_endpoint_set_custom_name:
'Establece un nombre personalizado, en caso de que puedas encontrar esta configuración preestablecida',
com_endpoint_preset_delete_confirm:
'¿Estás seguro de que quieres eliminar esta configuración preestablecida?',
com_endpoint_preset_clear_all_confirm:
'¿Estás seguro de que quieres eliminar todas tus configuraciones preestablecidas?',
com_endpoint_preset_import: '¡Configuración preestablecida importada!',
com_endpoint_preset_import_error:
'Hubo un error al importar tu configuración preestablecida. Por favor, inténtalo de nuevo.',
com_endpoint_preset_save_error:
'Hubo un error al guardar tu configuración preestablecida. Por favor, inténtalo de nuevo.',
com_endpoint_preset_delete_error:
'Hubo un error al eliminar tu configuración preestablecida. Por favor, inténtalo de nuevo.',
com_endpoint_preset_default_removed: 'ya no es la configuración preestablecida predeterminada.',
com_endpoint_preset_default_item: 'Predeterminado:',
com_endpoint_preset_default_none: 'No hay configuración preestablecida predeterminada activa.',
com_endpoint_preset_title: 'Configuración preestablecida',
com_endpoint_preset_saved: '¡Guardado!',
com_endpoint_preset_default: 'es ahora la configuración preestablecida predeterminada.',
com_endpoint_preset: 'configuración preestablecida',
com_endpoint_presets: 'configuraciones preestablecidas',
com_endpoint_preset_selected: '¡Configuración preestablecida activa!',
com_endpoint_preset_selected_title: '¡Activo!',
com_endpoint_preset_name: 'Nombre de la configuración preestablecida',
com_endpoint_new_topic: 'Nuevo tema',
com_endpoint: 'Endpoint',
com_endpoint_hide: 'Ocultar',
com_endpoint_show: 'Mostrar',
com_endpoint_examples: ' Configuraciones preestablecidas',
com_endpoint_completion: 'Finalización',
com_endpoint_agent: 'Agente',
com_endpoint_show_what_settings: 'Mostrar configuración de {0}',
com_endpoint_export: 'Exportar',
com_endpoint_assistant: 'Asistente',
com_endpoint_use_active_assistant: 'Utilizar asistente activo',
com_endpoint_assistant_model: 'Modelo de asistente',
com_endpoint_save_as_preset: 'Guardar como configuración preestablecida',
com_endpoint_presets_clear_warning:
'¿Estás seguro de que quieres borrar todas las configuraciones preestablecidas? Esto es irreversible.',
com_endpoint_not_implemented: 'No implementado',
com_endpoint_no_presets:
'Aún no hay configuraciones preestablecidas, utiliza el botón de configuración para crear una',
com_endpoint_not_available: 'No hay endpoint disponible',
com_endpoint_view_options: 'Ver opciones',
com_endpoint_save_convo_as_preset: 'Guardar conversación como configuración preestablecida',
com_endpoint_my_preset: 'Mi configuración preestablecida',
com_endpoint_agent_model: 'Modelo de agente (Recomendado: GPT-3.5)',
com_endpoint_completion_model: 'Modelo de finalización (Recomendado: GPT-4)',
com_endpoint_func_hover: 'Habilitar el uso de Plugins como funciones de OpenAI',
com_endpoint_skip_hover:
'Habilitar omitir el paso de finalización, que revisa la respuesta final y los pasos generados',
com_endpoint_config_key: 'Establecer clave API',
com_endpoint_assistant_placeholder:
'Por favor, seleccione un Asistente desde el panel lateral derecho',
com_endpoint_config_placeholder: 'Establezca su clave en el menú del encabezado para chatear.',
com_endpoint_config_key_for: 'Establecer clave API para',
com_endpoint_config_key_name: 'Clave',
com_endpoint_config_value: 'Ingresar valor para',
com_endpoint_config_key_name_placeholder: 'Establezca primero la clave API',
com_endpoint_config_key_encryption: 'Tu clave será encriptada y eliminada en',
com_endpoint_config_key_expiry: 'el tiempo de expiración',
com_endpoint_config_click_here: 'Haz clic aquí',
com_endpoint_config_google_service_key: 'Clave de cuenta de servicio de Google',
com_endpoint_config_google_cloud_platform: '(de Google Cloud Platform)',
com_endpoint_config_google_api_key: 'Clave API de Google',
com_endpoint_config_google_gemini_api: '(API Gemini)',
com_endpoint_config_google_api_info:
'Para obtener tu clave de la API de Lenguaje Generativo (para Gemini),',
com_endpoint_config_key_import_json_key: 'Importar clave JSON de cuenta de servicio.',
com_endpoint_config_key_import_json_key_success:
'Clave JSON de cuenta de servicio importada correctamente',
com_endpoint_config_key_import_json_key_invalid:
'Clave JSON de cuenta de servicio no válida, ¿importaste el archivo correcto?',
com_endpoint_config_key_get_edge_key:
'Para obtener tu token de acceso para Bing, inicia sesión en',
com_endpoint_config_key_get_edge_key_dev_tool:
'Utiliza las herramientas de desarrollador o una extensión mientras estás conectado al sitio para copiar el contenido de la cookie _U. Si esto falla, sigue estas',
com_endpoint_config_key_edge_instructions: 'instrucciones',
com_endpoint_config_key_edge_full_key_string:
'para proporcionar las cadenas de cookies completas.',
com_endpoint_config_key_chatgpt:
'Para obtener tu token de acceso para ChatGPT \'Versión gratuita\', inicia sesión en',
com_endpoint_config_key_chatgpt_then_visit: 'y luego visita',
com_endpoint_config_key_chatgpt_copy_token: 'Copia el token de acceso.',
com_endpoint_config_key_google_need_to: 'Necesitas',
com_endpoint_config_key_google_vertex_ai: 'Habilitar el Vertex AI',
com_endpoint_config_key_google_vertex_api: 'API en Google Cloud, luego',
com_endpoint_config_key_google_service_account: 'Crear una Cuenta de Servicio',
com_endpoint_config_key_google_vertex_api_role:
'Asegúrate de hacer clic en \'Crear y continuar\' para otorgar al menos el rol de \'Usuario de Vertex AI\'. Por último, crea una clave JSON para importar aquí.',
com_nav_welcome_assistant: 'Por favor, selecciona un asistente',
com_nav_welcome_message: '¿En qué puedo ayudarte hoy?',
com_nav_auto_scroll: 'Desplazamiento automático al más reciente al abrir',
com_nav_hide_panel: 'Ocultar el panel lateral derecho',
com_nav_enter_to_send: 'Enviar mensaje con la tecla Enter',
com_nav_modular_chat: 'Habilitar el cambio de puntos finales en medio de una conversación',
com_nav_latex_parsing: 'Analizar LaTeX en los mensajes (puede afectar el rendimiento)',
com_nav_profile_picture: 'Imagen de perfil',
com_nav_change_picture: 'Cambiar imagen',
com_nav_plugin_store: 'Tienda de plugins',
com_nav_plugin_install: 'Instalar',
com_nav_plugin_uninstall: 'Desinstalar',
com_nav_tool_add: 'Agregar',
com_nav_tool_remove: 'Eliminar',
com_nav_tool_dialog: 'Herramientas del asistente',
com_nav_tool_dialog_description:
'El asistente debe guardarse para que las selecciones de herramientas persistan.',
com_show_agent_settings: 'Mostrar configuración del agente',
com_show_completion_settings: 'Mostrar configuración de completado',
com_hide_examples: 'Ocultar ejemplos',
com_show_examples: 'Mostrar ejemplos',
com_nav_plugin_search: 'Buscar plugins',
com_nav_tool_search: 'Buscar herramientas',
com_nav_plugin_auth_error:
'Hubo un error al intentar autenticar este plugin. Por favor, inténtalo de nuevo.',
com_nav_export_filename: 'Nombre de archivo',
com_nav_export_filename_placeholder: 'Establecer el nombre de archivo',
com_nav_export_type: 'Tipo',
com_nav_export_include_endpoint_options: 'Incluir opciones de punto final',
com_nav_enabled: 'Habilitado',
com_nav_not_supported: 'No soportado',
com_nav_export_all_message_branches: 'Exportar todas las ramas de mensajes',
com_nav_export_recursive_or_sequential: '¿Recursivo o secuencial?',
com_nav_export_recursive: 'Recursivo',
com_nav_export_conversation: 'Exportar conversación',
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_nav_export: 'Exportar',
com_nav_shared_links: 'Links Compartidos',
com_nav_shared_links_manage: 'Gerenciar',
com_nav_shared_links_empty: 'Você não tem nenhum link compartilhado.',
com_nav_shared_links_name: 'Nome',
com_nav_shared_links_date_shared: 'Data compartilhada',
com_nav_my_files: 'Mis archivos',
com_nav_theme: 'Tema',
com_nav_theme_system: 'Sistema',
com_nav_theme_dark: 'Oscuro',
com_nav_theme_light: 'Claro',
com_nav_user_name_display: 'Mostrar nombre de usuario en los mensajes',
com_nav_save_drafts: 'Guardar borradores localmente',
com_nav_show_code: 'Mostrar siempre el código cuando se use el intérprete de código',
com_nav_clear_all_chats: 'Borrar todos los chats',
com_nav_confirm_clear: 'Confirmar borrado',
com_nav_close_sidebar: 'Cerrar barra lateral',
com_nav_open_sidebar: 'Abrir barra lateral',
com_nav_send_message: 'Enviar mensaje',
com_nav_log_out: 'Cerrar sesión',
com_nav_user: 'USUARIO',
🚀feat: Archive conversations (#2590) * 🔧chore: add internationalization labels for archive feature * ✨ feat: Add function to useArchiveConversationMutation() This commit adds a new mutation function `useArchiveConversationMutation()` for archiving conversations. This function takes the ID string of the conversation to be archived and returns a mutation result object. Upon successful archiving, it removes and refreshes the conversation from the query data cache. While ChatGPT PATCHes the archived status by sending `{is_archived: true}` to the URL `/backend-api/conversation/$conversation_id`, this implementation uses the `dataService.updateConversation(payload)` with a POST method, aligning with the existing code conventions. * ✨ feat(api): add is_archived field to Conversation schema and update getConvosByPage method This commit adds a new field `is_archived` with a default value of false to the Conversation schema. It also modifies the `getConvosByPage` method within the Conversation API to adjust the query to only target conversations where `is_archived` is set to false or where the `is_archived` field does not exist. The function `getConvosQueried`, which returns conversations for a specified Conversation ID, was determined not to require consideration of whether `is_archived` is true or false, and thus was not modified. * ♻️ refactor: add className prop to DotsIcon component To enhance the versatility of the DotsIcon component, this commit introduces the ability to specify a className prop, allowing for greater customization. * ✨ feat(ui): add Edit Button to group Title change and Conversation delete buttons Added a new Edit Button to the conversations, similar to the ChatGPT UI, which groups options for editing the conversation title and deleting conversations. This grouping is accessible through a dialogue that appears when the three-dot icon is clicked. * ♻️ refactor(ui): enhance Delete Button to accept className and label options Enhanced the Delete Button component to accept a `className` for customization and an optional `appendLabel`. The DeleteButton component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * ♻️ refactor(ui): enhance RenameButton to accept label options Added the ability to optionally display labels; the Rename Button component is used by both `Convo.tsx` and `Conversation.tsx`, but currently only `Convo.tsx` is active and `Conversation.tsx `is apparently not used; removing `Conversation.tsx` may eliminate the need for the `appendLabel` property in the future. * 🔧 chors: additional localization labels * ♻️ refactor: change is_archived property of conversation to camelCase * Refactor the is_archived property of conversation to camelCase (isArchived) to adhere to the existing code conventions * Modify the function that retrieves conversations to accept the isArchived parameter * ♻️ refactor: add archiveConversation mutation I thought I could divert dataService.updateConversation, but added a new archiveConversation because the request types are different. It might be better to make them common, but to avoid side effects, I added a new function this time. Added process to deleteConversationMutation to delete archived conversations * ✨ feat: Add the function to hide a cancel button in DialogTemplate component The Cancel button is not needed when displaying the archive list, so I made the Cancel button optional. * ♻️ refactor: Add support for filtering archived conversations in Nav component This commit modifies the Nav component to add the ability to filter out archived conversations when fetching data. This is done by adding `isArchived: false` to the query parameters for both the `useConversationsInfiniteQuery()` and `useSearchInfiniteQuery()` hooks, effectively excluding any archived conversations from the results returned. * ♻️ refactor: add Tooltip to DeleteButton * Add Tooltip to DeleteButton component * Display Tooltip when DeleteButton only shows an Icon without text * ✨ feat(ui): add ArchiveButton component for archiving conversations To be compatible with the ChatGPT UI, no confirmation dialog is displayed when ArchiveButton is clicked. The basic behavior conforms to DeleteButton and RenameButton. * ✨ feat(ui): add Archive button to list of conversations Modify the Nav of the conversation list to include a dropdown that contains the Rename and Delete options, similar to the ChatGPT UI. Additionally, an Archive button has been added adjacent to the dropdown menu. * ✨ feat: Add ArchivedChatsTable component Adds the `ArchivedChatsTable` component, which displays a table of archived chats. It has been implemented to be as compatible with the ChatGPT UI as possible. * 🚑 fix(tooltip): increase z-index to ensure visibility over Dialog Resolve an issue where tooltips were not visible when displayed over a Dialog. The z-index of `DialogPrimitive.Portal` in `Dialog.tsx` is set to 999. Since the rationale for this value is unclear, the z-index of the tooltip has been increased to 1000 to guarantee its visibility above the Dialog component. * 🔧 chors: add internationalization labels
2024-05-06 20:07:00 -07:00
com_nav_archived_chats: 'Archivadas',
com_nav_archived_chats_manage: 'Gestionar',
com_nav_archived_chats_empty: 'No tienes conversaciones archivadas.',
com_nav_archive_all_chats: 'Archivar todas las conversaciones',
com_nav_archive_all: 'Archivar todas',
com_nav_archive_name: 'Nombre',
com_nav_archive_created_at: 'CreadoEn',
com_nav_clear_conversation: 'Borrar conversaciones',
com_nav_clear_conversation_confirm_message:
'¿Estás seguro de que quieres borrar todas las conversaciones? Esta acción es irreversible.',
com_nav_help_faq: 'Ayuda y preguntas frecuentes',
com_nav_settings: 'Configuración',
com_nav_search_placeholder: 'Buscar mensajes',
com_nav_setting_general: 'General',
com_nav_setting_beta: 'Funciones beta',
com_nav_setting_data: 'Controles de datos',
com_nav_setting_account: 'Cuenta',
com_nav_language: 'Idioma',
com_nav_lang_auto: 'Detección automática',
com_nav_lang_spanish: 'Español',
/* The following are AI Translated */
🤖 feat: OpenAI Assistants v2 (initial support) (#2781) * 🤖 Assistants V2 Support: Part 1 - Separated Azure Assistants to its own endpoint - File Search / Vector Store integration is incomplete, but can toggle and use storage from playground - Code Interpreter resource files can be added but not deleted - GPT-4o is supported - Many improvements to the Assistants Endpoint overall data-provider v2 changes copy existing route as v1 chore: rename new endpoint to reduce comparison operations and add new azure filesource api: add azureAssistants part 1 force use of version for assistants/assistantsAzure chore: switch name back to azureAssistants refactor type version: string | number Ensure assistants endpoints have version set fix: isArchived type issue in ConversationListParams refactor: update assistants mutations/queries with endpoint/version definitions, update Assistants Map structure chore: FilePreview component ExtendedFile type assertion feat: isAssistantsEndpoint helper chore: remove unused useGenerations chore(buildTree): type issue chore(Advanced): type issue (unused component, maybe in future) first pass for multi-assistant endpoint rewrite fix(listAssistants): pass params correctly feat: list separate assistants by endpoint fix(useTextarea): access assistantMap correctly fix: assistant endpoint switching, resetting ID fix: broken during rewrite, selecting assistant mention fix: set/invalidate assistants endpoint query data correctly feat: Fix issue with assistant ID not being reset correctly getOpenAIClient helper function feat: add toast for assistant deletion fix: assistants delete right after create issue for azure fix: assistant patching refactor: actions to use getOpenAIClient refactor: consolidate logic into helpers file fix: issue where conversation data was not initially available v1 chat support refactor(spendTokens): only early return if completionTokens isNaN fix(OpenAIClient): ensure spendTokens has all necessary params refactor: route/controller logic fix(assistants/initializeClient): use defaultHeaders field fix: sanitize default operation id chore: bump openai package first pass v2 action service feat: retroactive domain parsing for actions added via v1 feat: delete db records of actions/assistants on openai assistant deletion chore: remove vision tools from v2 assistants feat: v2 upload and delete assistant vision images WIP first pass, thread attachments fix: show assistant vision files (save local/firebase copy) v2 image continue fix: annotations fix: refine annotations show analyze as error if is no longer submitting before progress reaches 1 and show file_search as retrieval tool fix: abort run, undefined endpoint issue refactor: consolidate capabilities logic and anticipate versioning frontend version 2 changes fix: query selection and filter add endpoint to unknown filepath add file ids to resource, deleting in progress enable/disable file search remove version log * 🤖 Assistants V2 Support: Part 2 🎹 fix: Autocompletion Chrome Bug on Action API Key Input chore: remove `useOriginNavigate` chore: set correct OpenAI Storage Source fix: azure file deletions, instantiate clients by source for deletion update code interpret files info feat: deleteResourceFileId chore: increase poll interval as azure easily rate limits fix: openai file deletions, TODO: evaluate rejected deletion settled promises to determine which to delete from db records file source icons update table file filters chore: file search info and versioning fix: retrieval update with necessary tool_resources if specified fix(useMentions): add optional chaining in case listMap value is undefined fix: force assistant avatar roundedness fix: azure assistants, check correct flag chore: bump data-provider * fix: merge conflict * ci: fix backend tests due to new updates * chore: update .env.example * meilisearch improvements * localization updates * chore: update comparisons * feat: add additional metadata: endpoint, author ID * chore: azureAssistants ENDPOINTS exclusion warning
2024-05-19 12:56:55 -04:00
com_assistants_file_search: 'Búsqueda de Archivos',
com_assistants_file_search_info:
'Adjuntar almacenes vectoriales para la Búsqueda de Archivos aún no está soportado. Puede adjuntarlos desde el Área de Pruebas del Proveedor o adjuntar archivos a los mensajes para la búsqueda de archivos en una conversación específica.',
com_assistants_non_retrieval_model:
'La búsqueda de archivos no está habilitada en este modelo. Por favor, seleccione otro modelo.',
com_ui_attach_error_openai:
'No se pueden adjuntar archivos del Asistente a otros puntos de conexión',
com_ui_attach_warn_endpoint:
'Es posible que los archivos no compatibles con la herramienta sean ignorados',
com_ui_assistant_deleted: 'Asistente eliminado con éxito',
com_ui_assistant_delete_error: 'Hubo un error al eliminar el asistente',
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_copied: '¡Copiado!',
com_ui_copy_code: 'Copiar código',
com_ui_copy_link: 'Copiar enlace',
com_ui_update_link: 'Actualizar enlace',
com_ui_create_link: 'Crear enlace',
com_nav_source_chat: 'Ver chat de origen',
com_ui_date_today: 'Hoy',
com_ui_date_yesterday: 'Ayer',
com_ui_date_previous_7_days: 'Últimos 7 días',
com_ui_date_previous_30_days: 'Últimos 30 días',
com_ui_date_january: 'Enero',
com_ui_date_february: 'Febrero',
com_ui_date_march: 'Marzo',
com_ui_date_april: 'Abril',
com_ui_date_may: 'Mayo',
com_ui_date_june: 'Junio',
com_ui_date_july: 'Julio',
com_ui_date_august: 'Agosto',
com_ui_date_september: 'Septiembre',
com_ui_date_october: 'Octubre',
com_ui_date_november: 'Noviembre',
com_ui_date_december: 'Diciembre',
com_ui_nothing_found: 'No se encontró nada',
com_ui_go_to_conversation: 'Ir a la conversación',
com_error_moderation:
'Parece que el contenido enviado ha sido marcado por nuestro sistema de moderación por no estar alineado con nuestras pautas comunitarias. No podemos proceder con este tema específico. Si tiene alguna otra pregunta o tema que le gustaría explorar, por favor edite su mensaje o cree una nueva conversación.',
com_error_no_user_key:
'No se encontró ninguna clave. Por favor, proporcione una clave e inténtelo de nuevo.',
com_error_invalid_user_key:
'Clave proporcionada no válida. Por favor proporcione una clave válida e inténtelo de nuevo.',
com_error_expired_user_key:
'La clave proporcionada para {0} expiró en {1}. Por favor, proporcione una clave nueva e inténtelo de nuevo.',
com_ui_off: 'Desactivado',
com_ui_none_selected: 'No se ha seleccionado ninguno',
com_ui_fork_info_1:
'com_ui_fork_info_1: \'Utilice esta configuración para bifurcar los mensajes con el comportamiento deseado.\'',
com_ui_fork_info_2:
'"Bifurcar" se refiere a crear una nueva conversación que comienza/termina desde mensajes específicos en la conversación actual, creando una copia según las opciones seleccionadas.',
com_ui_fork_info_visible:
'Esta opción bifurca únicamente los mensajes visibles; es decir, la ruta directa hacia el mensaje objetivo, sin ninguna ramificación.',
com_ui_fork_info_start:
'Si se marca, la bifurcación comenzará desde este mensaje hasta el último mensaje de la conversación, según el comportamiento seleccionado anteriormente.',
com_ui_fork_success: 'Se ha bifurcado la conversación con éxito',
com_ui_fork_processing: 'Bifurcando conversación...',
com_ui_fork_error: 'Hubo un error al bifurcar la conversación',
com_ui_fork_split_target_setting:
'Iniciar bifurcación desde el mensaje objetivo de forma predeterminada',
com_ui_import_conversation_file_type_error:
'com_ui_import_conversation_file_type_error: Tipo de archivo no compatible para importar',
com_ui_min_tags: 'No se pueden eliminar más valores, se requiere un mínimo de {0}.',
com_endpoint_messages: 'Mensajes',
com_endpoint_context_tokens: 'Máximo de tokens de contexto',
com_endpoint_stop_placeholder: 'Separe los valores presionando `Intro`',
com_error_no_base_url:
'No se encontró URL base. Por favor proporcione una y vuelva a intentarlo.',
com_sidepanel_parameters: 'Parámetros',
com_ui_field_required: 'Este campo es obligatorio',
com_ui_download_error:
'Hubo un error al descargar el archivo. Es posible que el archivo haya sido eliminado.',
com_ui_on: 'Encendido',
com_ui_yes: 'Sí',
com_ui_no: 'No',
com_ui_fork: 'Bifurcar',
com_ui_fork_info_3:
'El término "mensaje objetivo" se refiere ya sea al mensaje desde el cual se abrió este popup, o, si marca "{0}", al último mensaje en la conversación.',
com_ui_fork_info_branches:
'Esta opción bifurca los mensajes visibles, junto con las ramas relacionadas; en otras palabras, la ruta directa hacia el mensaje objetivo, incluyendo las ramas a lo largo de esa ruta.',
com_ui_fork_info_target:
'Esta opción bifurca todos los mensajes que conducen al mensaje objetivo, incluyendo sus vecinos; en otras palabras, se incluyen todas las ramas de mensajes, ya sean visibles o no, o estén en el mismo camino.',
com_ui_fork_info_remember:
'Marque esta opción para recordar las preferencias que seleccione para su uso futuro, lo que agilizará la bifurcación de conversaciones según sus preferencias.',
com_ui_fork_change_default: 'Opción de bifurcación predeterminada',
com_ui_fork_default: 'Utilizar opción de bifurcación predeterminada',
com_ui_fork_remember: 'Recuerde',
com_ui_fork_split_target: 'Iniciar bifurcación aquí',
com_ui_fork_remember_checked:
'Su selección se recordará después de utilizarla. Puede cambiar esta opción en cualquier momento en la configuración.',
com_ui_fork_all_target: 'Incluir todo desde/hacia aquí',
com_ui_fork_branches: 'Incluir ramas relacionadas',
com_ui_fork_visible: 'Mostrar únicamente mensajes visibles',
com_ui_fork_from_message: 'Seleccione una opción de bifurcación',
com_ui_mention:
'Menciona un punto de conexión, asistente o preconfiguración para cambiar rápidamente a él.',
com_ui_max_tags: 'El número máximo permitido es {0}, utilizando los valores más recientes.',
com_endpoint_context_info:
'La cantidad máxima de tokens que se pueden utilizar para el contexto. Utilice esto para controlar cuántos tokens se envían por solicitud. Si no se especifica, se utilizarán los valores predeterminados del sistema basados en el tamaño de contexto conocido de los modelos. Establecer valores más altos puede resultar en errores y/o un mayor costo de tokens.',
com_endpoint_stop: 'Secuencias de detención',
com_endpoint_openai_max_tokens:
'Campo opcional `max_tokens`, que representa el número máximo de tokens que se pueden generar en la finalización del chat.\n\nLa longitud total de los tokens de entrada y los tokens generados está limitada por la longitud del contexto del modelo. Puede experimentar errores si este número excede los tokens máximos de contexto.',
com_endpoint_openai_stop: 'Hasta 4 secuencias donde la API dejará de generar más tokens.',
com_nav_lang_english: 'Inglés',
com_nav_lang_chinese: 'Chino',
com_nav_lang_german: 'Alemán',
com_nav_lang_french: 'Francés',
com_nav_lang_italian: 'Español',
com_nav_lang_polish: 'Polaco',
com_nav_lang_brazilian_portuguese: 'Portugués de Brasil',
com_nav_lang_russian: 'Ruso',
com_nav_lang_japanese: 'Japonés',
com_nav_lang_swedish: 'Idioma sueco',
com_nav_lang_korean: 'Coreano',
com_nav_lang_vietnamese: 'Vietnamita',
com_nav_lang_traditionalchinese: 'Chino tradicional',
com_nav_lang_arabic: 'Árabe',
com_nav_lang_turkish: 'Idioma turco',
com_nav_lang_dutch: 'Holandés',
com_nav_lang_indonesia: 'Indonesia',
com_nav_lang_hebrew: 'עברית',
};
export const comparisons = {
com_files_no_results: {
english: 'No results.',
translated: 'Sin resultados.',
},
com_files_filter: {
english: 'Filter files...',
translated: 'Filtrar archivos...',
},
com_files_number_selected: {
english: '{0} of {1} file(s) selected',
translated: '{0} de {1} archivo(s) seleccionado(s)',
},
com_sidepanel_select_assistant: {
english: 'Select an Assistant',
translated: 'Seleccionar un Asistente',
},
com_sidepanel_assistant_builder: {
english: 'Assistant Builder',
translated: 'Creador de Asistentes',
},
com_sidepanel_hide_panel: {
english: 'Hide Panel',
translated: 'Ocultar Panel',
},
com_sidepanel_attach_files: {
english: 'Attach Files',
translated: 'Adjuntar Archivos',
},
com_sidepanel_manage_files: {
english: 'Manage Files',
translated: 'Administrar Archivos',
},
com_assistants_capabilities: {
english: 'Capabilities',
translated: 'Capacidades',
},
com_assistants_knowledge: {
english: 'Knowledge',
translated: 'Conocimiento',
},
com_assistants_knowledge_info: {
english:
'If you upload files under Knowledge, conversations with your Assistant may include file contents.',
translated:
'Si sube archivos en Conocimiento, las conversaciones con su Asistente pueden incluir el contenido de los archivos.',
},
com_assistants_knowledge_disabled: {
english:
'Assistant must be created, and Code Interpreter or Retrieval must be enabled and saved before uploading files as Knowledge.',
translated:
'El Asistente debe ser creado, y el Intérprete de Código o la Recuperación deben estar habilitados y guardados antes de subir archivos como Conocimiento.',
},
com_assistants_image_vision: {
english: 'Image Vision',
translated: 'Visión de Imagen',
},
com_assistants_code_interpreter: {
english: 'Code Interpreter',
translated: 'Intérprete de Código',
},
com_assistants_code_interpreter_files: {
english: 'The following files are only available for Code Interpreter:',
translated: 'Los siguientes archivos solo están disponibles para el Intérprete de Código:',
},
com_assistants_retrieval: {
english: 'Retrieval',
translated: 'Recuperación',
},
com_assistants_search_name: {
english: 'Search assistants by name',
translated: 'Buscar asistentes por nombre',
},
com_assistants_tools: {
english: 'Tools',
translated: 'Herramientas',
},
com_assistants_actions: {
english: 'Actions',
translated: 'Acciones',
},
com_assistants_add_tools: {
english: 'Add Tools',
translated: 'Añadir Herramientas',
},
com_assistants_add_actions: {
english: 'Add Actions',
translated: 'Añadir Acciones',
},
com_assistants_available_actions: {
english: 'Available Actions',
translated: 'Acciones Disponibles',
},
com_assistants_running_action: {
english: 'Running action',
translated: 'Ejecutando acción',
},
com_assistants_completed_action: {
english: 'Talked to {0}',
translated: 'Hablé con {0}',
},
com_assistants_completed_function: {
english: 'Ran {0}',
translated: 'Ejecuté {0}',
},
com_assistants_function_use: {
english: 'Assistant used {0}',
translated: 'El Asistente usó {0}',
},
com_assistants_domain_info: {
english: 'Assistant sent this info to {0}',
translated: 'El Asistente envió esta información a {0}',
},
com_assistants_delete_actions_success: {
english: 'Successfully deleted Action from Assistant',
translated: 'Acción eliminada del Asistente con éxito',
},
com_assistants_update_actions_success: {
english: 'Successfully created or updated Action',
translated: 'Acción creada o actualizada con éxito',
},
com_assistants_update_actions_error: {
english: 'There was an error creating or updating the action.',
translated: 'Hubo un error al crear o actualizar la acción.',
},
com_assistants_delete_actions_error: {
english: 'There was an error deleting the action.',
translated: 'Hubo un error al eliminar la acción.',
},
com_assistants_actions_info: {
english: 'Let your Assistant retrieve information or take actions via API\'s',
translated:
'Permita que su Asistente recupere información o realice acciones a través de API\'s',
},
com_assistants_name_placeholder: {
english: 'Optional: The name of the assistant',
translated: 'Opcional: El nombre del asistente',
},
com_assistants_instructions_placeholder: {
english: 'The system instructions that the assistant uses',
translated: 'Las instrucciones del sistema que utiliza el asistente',
},
com_assistants_description_placeholder: {
english: 'Optional: Describe your Assistant here',
translated: 'Opcional: Describa su Asistente aquí',
},
com_assistants_actions_disabled: {
english: 'You need to create an assistant before adding actions.',
translated: 'Necesita crear un asistente antes de añadir acciones.',
},
com_assistants_update_success: {
english: 'Successfully updated',
translated: 'Actualizado con éxito',
},
com_assistants_update_error: {
english: 'There was an error updating your assistant.',
translated: 'Hubo un error al actualizar su asistente.',
},
com_assistants_create_success: {
english: 'Successfully created',
translated: 'Creado con éxito',
},
com_assistants_create_error: {
english: 'There was an error creating your assistant.',
translated: 'Hubo un error al crear su asistente.',
},
com_ui_attach_error_type: {
english: 'Unsupported file type for endpoint:',
translated: 'Tipo de archivo no admitido para el endpoint:',
},
com_ui_attach_error_size: {
english: 'File size limit exceeded for endpoint:',
translated: 'Se excedió el límite de tamaño de archivo para el endpoint:',
},
com_ui_attach_error: {
english: 'Cannot attach file. Create or select a conversation, or try refreshing the page.',
translated:
'No se puede adjuntar el archivo. Cree o seleccione una conversación, o intente actualizar la página.',
},
com_ui_examples: {
english: 'Examples',
translated: 'Ejemplos',
},
com_ui_new_chat: {
english: 'New chat',
translated: 'Nuevo Chat',
},
com_ui_happy_birthday: {
english: 'It\'s my 1st birthday!',
translated: '¡Es mi primer cumpleaños!',
},
com_ui_example_quantum_computing: {
english: 'Explain quantum computing in simple terms',
translated: 'Explique la computación cuántica en términos sencillos',
},
com_ui_example_10_year_old_b_day: {
english: 'Got any creative ideas for a 10 year old\'s birthday?',
translated: '¿Tiene alguna idea creativa para el cumpleaños de un niño de 10 años?',
},
com_ui_example_http_in_js: {
english: 'How do I make an HTTP request in Javascript?',
translated: '¿Cómo hago una solicitud HTTP en Javascript?',
},
com_ui_capabilities: {
english: 'Capabilities',
translated: 'Capacidades',
},
com_ui_capability_remember: {
english: 'Remembers what user said earlier in the conversation',
translated: 'Recuerda lo que el usuario dijo anteriormente en la conversación',
},
com_ui_capability_correction: {
english: 'Allows user to provide follow-up corrections',
translated: 'Permite que el usuario proporcione correcciones de seguimiento',
},
com_ui_capability_decline_requests: {
english: 'Trained to decline inappropriate requests',
translated: 'Entrenado para rechazar solicitudes inapropiadas',
},
com_ui_limitations: {
english: 'Limitations',
translated: 'Limitaciones',
},
com_ui_limitation_incorrect_info: {
english: 'May occasionally generate incorrect information',
translated: 'Ocasionalmente puede generar información incorrecta',
},
com_ui_limitation_harmful_biased: {
english: 'May occasionally produce harmful instructions or biased content',
translated: 'Ocasionalmente puede producir instrucciones dañinas o contenido sesgado',
},
com_ui_limitation_limited_2021: {
english: 'Limited knowledge of world and events after 2021',
translated: 'Conocimiento limitado del mundo y eventos posteriores a 2021',
},
com_ui_experimental: {
english: 'Experimental Features',
translated: 'Funciones Experimentales',
},
com_ui_ascending: {
english: 'Asc',
translated: 'Asc',
},
com_ui_descending: {
english: 'Desc',
translated: 'Desc',
},
com_ui_show_all: {
english: 'Show All',
translated: 'Mostrar Todo',
},
com_ui_name: {
english: 'Name',
translated: 'Nombre',
},
com_ui_date: {
english: 'Date',
translated: 'Fecha',
},
com_ui_storage: {
english: 'Storage',
translated: 'Almacenamiento',
},
com_ui_context: {
english: 'Context',
translated: 'Contexto',
},
com_ui_size: {
english: 'Size',
translated: 'Tamaño',
},
com_ui_host: {
english: 'Host',
translated: 'Host',
},
com_ui_update: {
english: 'Update',
translated: 'Actualizar',
},
com_ui_authentication: {
english: 'Authentication',
translated: 'Autenticación',
},
com_ui_instructions: {
english: 'Instructions',
translated: 'Instrucciones',
},
com_ui_description: {
english: 'Description',
translated: 'Descripción',
},
com_ui_error: {
english: 'Error',
translated: 'Error',
},
com_ui_select: {
english: 'Select',
translated: 'Seleccionar',
},
com_ui_input: {
english: 'Input',
translated: 'Entrada',
},
com_ui_close: {
english: 'Close',
translated: 'Cerrar',
},
com_ui_model: {
english: 'Model',
translated: 'Modelo',
},
com_ui_select_model: {
english: 'Select a model',
translated: 'Seleccionar un modelo',
},
com_ui_select_search_model: {
english: 'Search model by name',
translated: 'Buscar modelo por nombre',
},
com_ui_select_search_plugin: {
english: 'Search plugin by name',
translated: 'Buscar plugin por nombre',
},
com_ui_use_prompt: {
english: 'Use prompt',
translated: 'Usar prompt',
},
com_ui_prev: {
english: 'Prev',
translated: 'Ant',
},
com_ui_next: {
english: 'Next',
translated: 'Sig',
},
com_ui_stop: {
english: 'Stop',
translated: 'Detener',
},
com_ui_upload_files: {
english: 'Upload files',
translated: 'Subir archivos',
},
com_ui_prompt_templates: {
english: 'Prompt Templates',
translated: 'Plantillas de Prompt',
},
com_ui_hide_prompt_templates: {
english: 'Hide Prompt Templates',
translated: 'Ocultar Plantillas de Prompt',
},
com_ui_showing: {
english: 'Showing',
translated: 'Mostrando',
},
com_ui_of: {
english: 'of',
translated: 'de',
},
com_ui_entries: {
english: 'Entries',
translated: 'Entradas',
},
com_ui_pay_per_call: {
english: 'All AI conversations in one place. Pay per call and not per month',
translated: 'Todas las conversaciones de IA en un mismo lugar. Pague por llamada y no por mes',
},
com_ui_new_footer: {
english: 'All AI conversations in one place.',
translated: 'Todas las conversaciones de IA en un mismo lugar.',
},
com_ui_enter: {
english: 'Enter',
translated: 'Intro',
},
com_ui_submit: {
english: 'Submit',
translated: 'Enviar',
},
com_ui_upload_success: {
english: 'Successfully uploaded file',
translated: 'Archivo subido con éxito',
},
com_ui_upload_error: {
english: 'There was an error uploading your file',
translated: 'Hubo un error al subir su archivo',
},
com_ui_upload_invalid: {
english: 'Invalid file for upload. Must be an image not exceeding 2 MB',
translated: 'Archivo inválido para subir. Debe ser una imagen que no exceda los 2 MB',
},
com_ui_cancel: {
english: 'Cancel',
translated: 'Cancelar',
},
com_ui_save: {
english: 'Save',
translated: 'Guardar',
},
com_ui_save_submit: {
english: 'Save & Submit',
translated: 'Guardar y Enviar',
},
com_user_message: {
english: 'You',
translated: 'Usted',
},
com_ui_copy_to_clipboard: {
english: 'Copy to clipboard',
translated: 'Copiar al portapapeles',
},
com_ui_copied_to_clipboard: {
english: 'Copied to clipboard',
translated: 'Copiado al portapapeles',
},
com_ui_regenerate: {
english: 'Regenerate',
translated: 'Regenerar',
},
com_ui_continue: {
english: 'Continue',
translated: 'Continuar',
},
com_ui_edit: {
english: 'Edit',
translated: 'Editar',
},
com_ui_success: {
english: 'Success',
translated: 'Éxito',
},
com_ui_all: {
english: 'all',
translated: 'todas',
},
com_ui_clear: {
english: 'Clear',
translated: 'Limpiar',
},
com_ui_revoke: {
english: 'Revoke',
translated: 'Revocar',
},
com_ui_revoke_info: {
english: 'Revoke all user provided credentials',
translated: 'Revocar todas las credenciales proporcionadas por el usuario',
},
com_ui_import_conversation: {
english: 'Import',
translated: 'Importar',
},
com_ui_import_conversation_info: {
english: 'Import conversations from a JSON file',
translated: 'Importar chats de un archivo JSON',
},
com_ui_import_conversation_success: {
english: 'Conversations imported successfully',
translated: 'Chats importados exitosamente',
},
com_ui_import_conversation_error: {
english: 'There was an error importing your conversations',
translated: 'Hubo un error al importar tus chats',
},
com_ui_confirm_action: {
english: 'Confirm Action',
translated: 'Confirmar Acción',
},
com_ui_chats: {
english: 'chats',
translated: 'conversaciones',
},
com_ui_avatar: {
english: 'Avatar',
translated: 'Avatar',
},
com_ui_unknown: {
english: 'Unknown',
translated: 'Desconocido',
},
com_ui_result: {
english: 'Result',
translated: 'Resultado',
},
com_ui_image_gen: {
english: 'Image Gen',
translated: 'Gen Imágenes',
},
com_ui_assistant: {
english: 'Assistant',
translated: 'Asistente',
},
com_ui_assistants: {
english: 'Assistants',
translated: 'Asistentes',
},
com_ui_attachment: {
english: 'Attachment',
translated: 'Adjunto',
},
com_ui_assistants_output: {
english: 'Assistants Output',
translated: 'Salida de Asistentes',
},
com_ui_delete: {
english: 'Delete',
translated: 'Eliminar',
},
com_ui_create: {
english: 'Create',
translated: 'Crear',
},
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_share: {
english: 'Share',
translated: 'Share',
},
com_ui_share_link_to_chat: {
english: 'Share link to chat',
translated: 'Share link to chat',
},
com_ui_share_error: {
english: 'There was an error sharing the chat link',
translated: 'There was an error sharing the chat link',
},
com_ui_share_create_message: {
english: 'Your name and any messages you add after sharing stay private.',
translated: 'Your name and any messages you add after sharing stay private.',
},
com_ui_share_created_message: {
english:
'A public link to your chat has been created. Manage previously shared chats at any time via Settings.',
translated:
'A public link to your chat has been created. Manage previously shared chats at any time via Settings.',
},
com_ui_share_update_message: {
english: 'Your name, custom instructions, and any messages you add after sharing stay private.',
translated:
'Your name, custom instructions, and any messages you add after sharing stay private.',
},
com_ui_share_updated_message: {
english:
'A public link to your chat has been updated. Manage previously shared chats at any time via Settings.',
translated:
'A public link to your chat has been updated. Manage previously shared chats at any time via Settings.',
},
com_ui_shared_link_not_found: {
english: 'Shared link not found',
translated: 'Shared link not found',
},
com_ui_delete_conversation: {
english: 'Delete chat?',
translated: '¿Eliminar Chat?',
},
com_ui_delete_conversation_confirm: {
english: 'This will delete',
translated: 'Esto eliminará',
},
com_ui_delete_assistant_confirm: {
english: 'Are you sure you want to delete this Assistant? This cannot be undone.',
translated:
'¿Está seguro de que desea eliminar este Asistente? Esta acción no se puede deshacer.',
},
com_ui_rename: {
english: 'Rename',
translated: 'Renombrar',
},
com_ui_archive: {
english: 'Archive',
translated: 'Archivar',
},
com_ui_archive_error: {
english: 'Failed to archive conversation',
translated: 'Error al archivar la conversación',
},
com_ui_unarchive: {
english: 'Unarchive',
translated: 'Desarchivar',
},
com_ui_unarchive_error: {
english: 'Failed to unarchive conversation',
translated: 'Error al desarchivar la conversación',
},
com_ui_more_options: {
english: 'More',
translated: 'Más',
},
com_ui_preview: {
english: 'Preview',
translated: 'Previsualizar',
},
com_ui_upload: {
english: 'Upload',
translated: 'Subir',
},
com_ui_connect: {
english: 'Connect',
translated: 'Conectar',
},
com_ui_upload_delay: {
english:
'Uploading "{0}" is taking more time than anticipated. Please wait while the file finishes indexing for retrieval.',
translated:
'La carga de "{0}" está tomando más tiempo del esperado. Espere mientras el archivo termina de indexarse para su recuperación.',
},
com_ui_privacy_policy: {
english: 'Privacy policy',
translated: 'Política de privacidad',
},
com_ui_terms_of_service: {
english: 'Terms of service',
translated: 'Términos de servicio',
},
com_auth_error_login: {
english:
'Unable to login with the information provided. Please check your credentials and try again.',
translated:
'No se puede iniciar sesión con la información proporcionada. Verifique sus credenciales y vuelva a intentarlo.',
},
com_auth_error_login_rl: {
english: 'Too many login attempts in a short amount of time. Please try again later.',
translated:
'Demasiados intentos de inicio de sesión en un corto período de tiempo. Inténtelo de nuevo más tarde.',
},
com_auth_error_login_ban: {
english: 'Your account has been temporarily banned due to violations of our service.',
translated:
'Su cuenta ha sido bloqueada temporalmente debido a violaciones de nuestro servicio.',
},
com_auth_error_login_server: {
english: 'There was an internal server error. Please wait a few moments and try again.',
translated: 'Hubo un error interno del servidor. Espere unos momentos y vuelva a intentarlo.',
},
com_auth_no_account: {
english: 'Don\'t have an account?',
translated: '¿No tiene una cuenta?',
},
com_auth_sign_up: {
english: 'Sign up',
translated: 'Regístrese',
},
com_auth_sign_in: {
english: 'Sign in',
translated: 'Iniciar sesión',
},
com_auth_google_login: {
english: 'Continue with Google',
translated: 'Continuar con Google',
},
com_auth_facebook_login: {
english: 'Continue with Facebook',
translated: 'Continuar con Facebook',
},
com_auth_github_login: {
english: 'Continue with Github',
translated: 'Continuar con Github',
},
com_auth_discord_login: {
english: 'Continue with Discord',
translated: 'Continuar con Discord',
},
com_auth_email: {
english: 'Email',
translated: 'Correo electrónico',
},
com_auth_email_required: {
english: 'Email is required',
translated: 'Se requiere correo electrónico',
},
com_auth_email_min_length: {
english: 'Email must be at least 6 characters',
translated: 'El correo electrónico debe tener al menos 6 caracteres',
},
com_auth_email_max_length: {
english: 'Email should not be longer than 120 characters',
translated: 'El correo electrónico no debe tener más de 120 caracteres',
},
com_auth_email_pattern: {
english: 'You must enter a valid email address',
translated: 'Debe ingresar una dirección de correo electrónico válida',
},
com_auth_email_address: {
english: 'Email address',
translated: 'Dirección de correo electrónico',
},
com_auth_password: {
english: 'Password',
translated: 'Contraseña',
},
com_auth_password_required: {
english: 'Password is required',
translated: 'Se requiere contraseña',
},
com_auth_password_min_length: {
english: 'Password must be at least 8 characters',
translated: 'La contraseña debe tener al menos 8 caracteres',
},
com_auth_password_max_length: {
english: 'Password must be less than 128 characters',
translated: 'La contraseña debe tener menos de 128 caracteres',
},
com_auth_password_forgot: {
english: 'Forgot Password?',
translated: '¿Olvidó su contraseña?',
},
com_auth_password_confirm: {
english: 'Confirm password',
translated: 'Confirmar contraseña',
},
com_auth_password_not_match: {
english: 'Passwords do not match',
translated: 'Las contraseñas no coinciden',
},
com_auth_continue: {
english: 'Continue',
translated: 'Continuar',
},
com_auth_create_account: {
english: 'Create your account',
translated: 'Crear su cuenta',
},
com_auth_error_create: {
english: 'There was an error attempting to register your account. Please try again.',
translated: 'Hubo un error al intentar registrar su cuenta. Inténtelo de nuevo.',
},
com_auth_full_name: {
english: 'Full name',
translated: 'Nombre completo',
},
com_auth_name_required: {
english: 'Name is required',
translated: 'Se requiere nombre',
},
com_auth_name_min_length: {
english: 'Name must be at least 3 characters',
translated: 'El nombre debe tener al menos 3 caracteres',
},
com_auth_name_max_length: {
english: 'Name must be less than 80 characters',
translated: 'El nombre debe tener menos de 80 caracteres',
},
com_auth_username: {
english: 'Username (optional)',
translated: 'Nombre de usuario (opcional)',
},
com_auth_username_required: {
english: 'Username is required',
translated: 'Se requiere nombre de usuario',
},
com_auth_username_min_length: {
english: 'Username must be at least 2 characters',
translated: 'El nombre de usuario debe tener al menos 2 caracteres',
},
com_auth_username_max_length: {
english: 'Username must be less than 20 characters',
translated: 'El nombre de usuario debe tener menos de 20 caracteres',
},
com_auth_already_have_account: {
english: 'Already have an account?',
translated: '¿Ya tiene una cuenta?',
},
com_auth_login: {
english: 'Login',
translated: 'Iniciar sesión',
},
com_auth_reset_password: {
english: 'Reset your password',
translated: 'Restablecer su contraseña',
},
com_auth_click: {
english: 'Click',
translated: 'Haga clic',
},
com_auth_here: {
english: 'HERE',
translated: 'AQUÍ',
},
com_auth_to_reset_your_password: {
english: 'to reset your password.',
translated: 'para restablecer su contraseña.',
},
com_auth_reset_password_link_sent: {
english: 'Email Sent',
translated: 'Correo electrónico enviado',
},
com_auth_reset_password_email_sent: {
english: 'An email has been sent to you with further instructions to reset your password.',
translated:
'Se le ha enviado un correo electrónico con más instrucciones para restablecer su contraseña.',
},
com_auth_error_reset_password: {
english:
'There was a problem resetting your password. There was no user found with the email address provided. Please try again.',
translated:
'Hubo un problema al restablecer su contraseña. No se encontró ningún usuario con la dirección de correo electrónico proporcionada. Inténtelo de nuevo.',
},
com_auth_reset_password_success: {
english: 'Password Reset Success',
translated: 'Éxito al restablecer la contraseña',
},
com_auth_login_with_new_password: {
english: 'You may now login with your new password.',
translated: 'Ahora puede iniciar sesión con su nueva contraseña.',
},
com_auth_error_invalid_reset_token: {
english: 'This password reset token is no longer valid.',
translated: 'Este token de restablecimiento de contraseña ya no es válido.',
},
com_auth_click_here: {
english: 'Click here',
translated: 'Haz clic aquí',
},
com_auth_to_try_again: {
english: 'to try again.',
translated: 'para intentar de nuevo.',
},
com_auth_submit_registration: {
english: 'Submit registration',
translated: 'Enviar registro',
},
com_auth_welcome_back: {
english: 'Welcome back',
translated: 'Bienvenido de nuevo',
},
com_auth_back_to_login: {
english: 'Back to Login',
translated: 'Volver al inicio de sesión',
},
com_endpoint_open_menu: {
english: 'Open Menu',
translated: 'Abrir menú',
},
com_endpoint_bing_enable_sydney: {
english: 'Enable Sydney',
translated: 'Habilitar Sydney',
},
com_endpoint_bing_to_enable_sydney: {
english: 'To enable Sydney',
translated: 'Para habilitar Sydney',
},
com_endpoint_bing_jailbreak: {
english: 'Jailbreak',
translated: 'Jailbreak',
},
com_endpoint_bing_context_placeholder: {
english:
'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',
translated:
'Bing puede utilizar hasta 7k tokens para el \'contexto\', al que puede hacer referencia en la conversación. El límite específico no se conoce, pero puede producir errores si se exceden los 7k tokens',
},
com_endpoint_bing_system_message_placeholder: {
english:
'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.',
translated:
'ADVERTENCIA: El mal uso de esta función puede hacer que te PROHÍBAN el uso de Bing. Haz clic en \'Mensaje del sistema\' para ver las instrucciones completas y el mensaje predeterminado si se omite, que es la configuración preestablecida \'Sydney\' que se considera segura.',
},
com_endpoint_system_message: {
english: 'System Message',
translated: 'Mensaje del sistema',
},
com_endpoint_message: {
english: 'Message',
translated: 'Mensaje',
},
com_endpoint_message_not_appendable: {
english: 'Edit your message or Regenerate.',
translated: 'Edita tu mensaje o regénera.',
},
com_endpoint_default_blank: {
english: 'default: blank',
translated: 'predeterminado: en blanco',
},
com_endpoint_default_false: {
english: 'default: false',
translated: 'predeterminado: falso',
},
com_endpoint_default_creative: {
english: 'default: creative',
translated: 'predeterminado: creativo',
},
com_endpoint_default_empty: {
english: 'default: empty',
translated: 'predeterminado: vacío',
},
com_endpoint_default_with_num: {
english: 'default: {0}',
translated: 'predeterminado: {0}',
},
com_endpoint_context: {
english: 'Context',
translated: 'Contexto',
},
com_endpoint_tone_style: {
english: 'Tone Style',
translated: 'Estilo de tono',
},
com_endpoint_token_count: {
english: 'Token count',
translated: 'Recuento de tokens',
},
com_endpoint_output: {
english: 'Output',
translated: 'Salida',
},
com_endpoint_google_temp: {
english:
'Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both.',
translated:
'Los valores más altos = más aleatorios, mientras que los valores más bajos = más enfocados y deterministas. Recomendamos alterar esto o Top P, pero no ambos.',
},
com_endpoint_google_topp: {
english:
'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.',
translated:
'Top-p cambia la forma en que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde los más K (ver parámetro topK) probables hasta los menos probables hasta que la suma de sus probabilidades sea igual al valor top-p.',
},
com_endpoint_google_topk: {
english:
'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).',
translated:
'Top-k cambia la forma en que el modelo selecciona tokens para la salida. Un top-k de 1 significa que el token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un top-k de 3 significa que el siguiente token se selecciona entre los 3 tokens más probables (usando temperatura).',
},
com_endpoint_google_maxoutputtokens: {
english:
' \tMaximum number of tokens that can be generated in the response. Specify a lower value for shorter responses and a higher value for longer responses.',
translated:
'Número máximo de tokens que se pueden generar en la respuesta. Especifique un valor más bajo para respuestas más cortas y un valor más alto para respuestas más largas.',
},
com_endpoint_google_custom_name_placeholder: {
english: 'Set a custom name for Google',
translated: 'Establecer un nombre personalizado para Google',
},
com_endpoint_prompt_prefix_placeholder: {
english: 'Set custom instructions or context. Ignored if empty.',
translated: 'Configurar instrucciones personalizadas o contexto. Se ignora si está vacío.',
},
com_endpoint_instructions_assistants_placeholder: {
english:
'Overrides the instructions of the assistant. This is useful for modifying the behavior on a per-run basis.',
translated:
'Anula las instrucciones del asistente. Esto es útil para modificar el comportamiento por ejecución.',
},
com_endpoint_prompt_prefix_assistants_placeholder: {
english:
'Set additional instructions or context on top of the Assistant\'s main instructions. Ignored if empty.',
translated:
'Establecer instrucciones o contexto adicionales además de las instrucciones principales del Asistente. Se ignora si está vacío.',
},
com_endpoint_custom_name: {
english: 'Custom Name',
translated: 'Nombre personalizado',
},
com_endpoint_prompt_prefix: {
english: 'Custom Instructions',
translated: 'Instrucciones personalizadas',
},
com_endpoint_prompt_prefix_assistants: {
english: 'Additional Instructions',
translated: 'Instrucciones adicionales',
},
com_endpoint_instructions_assistants: {
english: 'Override Instructions',
translated: 'Anular instrucciones',
},
com_endpoint_temperature: {
english: 'Temperature',
translated: 'Temperatura',
},
com_endpoint_default: {
english: 'default',
translated: 'predeterminado',
},
com_endpoint_top_p: {
english: 'Top P',
translated: 'Top P',
},
com_endpoint_top_k: {
english: 'Top K',
translated: 'Top K',
},
com_endpoint_max_output_tokens: {
english: 'Max Output Tokens',
translated: 'Tokens de Salida Máximos',
},
com_endpoint_openai_temp: {
english:
'Higher values = more random, while lower values = more focused and deterministic. We recommend altering this or Top P but not both.',
translated:
'Los valores más altos = más aleatorios, mientras que los valores más bajos = más enfocados y deterministas. Recomendamos alterar esto o Top P, pero no ambos.',
},
com_endpoint_openai_max: {
english:
'The max tokens to generate. The total length of input tokens and generated tokens is limited by the model\'s context length.',
translated:
'Los tokens máximos a generar. La longitud total de los tokens de entrada y los tokens generados está limitada por la longitud del contexto del modelo.',
},
com_endpoint_openai_topp: {
english:
'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.',
translated:
'Una alternativa al muestreo con temperatura, llamada muestreo de núcleo, donde el modelo considera los resultados de los tokens con la masa de probabilidad superior al top_p. Entonces, 0.1 significa que solo se consideran los tokens que comprenden la masa de probabilidad superior al 10%. Recomendamos alterar esto o la temperatura, pero no ambos.',
},
com_endpoint_openai_freq: {
english:
'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.',
translated:
'Número entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens basados en su frecuencia existente en el texto hasta el momento, disminuyendo la probabilidad del modelo de repetir la misma línea textualmente.',
},
com_endpoint_openai_pres: {
english:
'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.',
translated:
'Número entre -2.0 y 2.0. Los valores positivos penalizan los nuevos tokens basados en si aparecen o no en el texto hasta el momento, aumentando la probabilidad del modelo de hablar sobre nuevos temas.',
},
com_endpoint_openai_resend: {
english:
'Resend all previously attached images. Note: this can significantly increase token cost and you may experience errors with many image attachments.',
translated:
'Reenviar todas las imágenes adjuntas previamente. Nota: esto puede aumentar significativamente el costo de tokens y puede experimentar errores con muchos archivos adjuntos de imágenes.',
},
com_endpoint_openai_resend_files: {
english:
'Resend all previously attached files. Note: this will increase token cost and you may experience errors with many attachments.',
translated:
'Reenviar todos los archivos adjuntos anteriormente. Nota: esto aumentará el costo de tokens y puede experimentar errores con muchos archivos adjuntos.',
},
com_endpoint_openai_detail: {
english:
'The resolution for Vision requests. "Low" is cheaper and faster, "High" is more detailed and expensive, and "Auto" will automatically choose between the two based on the image resolution.',
translated:
'La resolución para las solicitudes de Vision. "Baja" es más económica y rápida, "Alta" es más detallada y costosa, y "Automática" elegirá automáticamente entre las dos en función de la resolución de la imagen.',
},
com_endpoint_openai_custom_name_placeholder: {
english: 'Set a custom name for the AI',
translated: 'Establecer un nombre personalizado para ChatGPT',
},
com_endpoint_openai_prompt_prefix_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated:
'Establecer instrucciones personalizadas para incluir en el Mensaje del sistema. Predeterminado: ninguno',
},
com_endpoint_anthropic_temp: {
english:
'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.',
translated:
'Rango de 0 a 1. Utilice una temperatura más cercana a 0 para tareas analíticas/de opción múltiple y más cercana a 1 para tareas creativas y generativas. Recomendamos alterar esto o Top P, pero no ambos.',
},
com_endpoint_anthropic_topp: {
english:
'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.',
translated:
'Top-p cambia la forma en que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde los más K (ver parámetro topK) probables hasta los menos probables hasta que la suma de sus probabilidades sea igual al valor top-p.',
},
com_endpoint_anthropic_topk: {
english:
'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).',
translated:
'Top-k cambia la forma en que el modelo selecciona tokens para la salida. Un top-k de 1 significa que el token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un top-k de 3 significa que el siguiente token se selecciona entre los 3 tokens más probables (usando temperatura).',
},
com_endpoint_anthropic_maxoutputtokens: {
english:
'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.',
translated:
'Número máximo de tokens que se pueden generar en la respuesta. Especifique un valor más bajo para respuestas más cortas y un valor más alto para respuestas más largas.',
},
com_endpoint_anthropic_custom_name_placeholder: {
english: 'Set a custom name for Anthropic',
translated: 'Establecer un nombre personalizado para Anthropic',
},
com_endpoint_frequency_penalty: {
english: 'Frequency Penalty',
translated: 'Penalización de frecuencia',
},
com_endpoint_presence_penalty: {
english: 'Presence Penalty',
translated: 'Penalización de presencia',
},
com_endpoint_plug_use_functions: {
english: 'Use Functions',
translated: 'Utilizar funciones',
},
com_endpoint_plug_resend_files: {
english: 'Resend Files',
translated: 'Reenviar archivos',
},
com_endpoint_plug_resend_images: {
english: 'Resend Images',
translated: 'Reenviar imágenes',
},
com_endpoint_plug_image_detail: {
english: 'Image Detail',
translated: 'Detalle de imagen',
},
com_endpoint_plug_skip_completion: {
english: 'Skip Completion',
translated: 'Omitir finalización',
},
com_endpoint_disabled_with_tools: {
english: 'disabled with tools',
translated: 'deshabilitado con herramientas',
},
com_endpoint_disabled_with_tools_placeholder: {
english: 'Disabled with Tools Selected',
translated: 'Deshabilitado con herramientas seleccionadas',
},
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated:
'Establecer instrucciones personalizadas para incluir en el Mensaje del sistema. Predeterminado: ninguno',
},
com_endpoint_import: {
english: 'Import',
translated: 'Importar',
},
com_endpoint_set_custom_name: {
english: 'Set a custom name, in case you can find this preset',
translated:
'Establece un nombre personalizado, en caso de que puedas encontrar esta configuración preestablecida',
},
com_endpoint_preset_delete_confirm: {
english: 'Are you sure you want to delete this preset?',
translated: '¿Estás seguro de que quieres eliminar esta configuración preestablecida?',
},
com_endpoint_preset_clear_all_confirm: {
english: 'Are you sure you want to delete all of your presets?',
translated: '¿Estás seguro de que quieres eliminar todas tus configuraciones preestablecidas?',
},
com_endpoint_preset_import: {
english: 'Preset Imported!',
translated: '¡Configuración preestablecida importada!',
},
com_endpoint_preset_import_error: {
english: 'There was an error importing your preset. Please try again.',
translated:
'Hubo un error al importar tu configuración preestablecida. Por favor, inténtalo de nuevo.',
},
com_endpoint_preset_save_error: {
english: 'There was an error saving your preset. Please try again.',
translated:
'Hubo un error al guardar tu configuración preestablecida. Por favor, inténtalo de nuevo.',
},
com_endpoint_preset_delete_error: {
english: 'There was an error deleting your preset. Please try again.',
translated:
'Hubo un error al eliminar tu configuración preestablecida. Por favor, inténtalo de nuevo.',
},
com_endpoint_preset_default_removed: {
english: 'is no longer the default preset.',
translated: 'ya no es la configuración preestablecida predeterminada.',
},
com_endpoint_preset_default_item: {
english: 'Default:',
translated: 'Predeterminado:',
},
com_endpoint_preset_default_none: {
english: 'No default preset active.',
translated: 'No hay configuración preestablecida predeterminada activa.',
},
com_endpoint_preset_title: {
english: 'Preset',
translated: 'Configuración preestablecida',
},
com_endpoint_preset_saved: {
english: 'Saved!',
translated: '¡Guardado!',
},
com_endpoint_preset_default: {
english: 'is now the default preset.',
translated: 'es ahora la configuración preestablecida predeterminada.',
},
com_endpoint_preset: {
english: 'preset',
translated: 'configuración preestablecida',
},
com_endpoint_presets: {
english: 'presets',
translated: 'configuraciones preestablecidas',
},
com_endpoint_preset_selected: {
english: 'Preset Active!',
translated: '¡Configuración preestablecida activa!',
},
com_endpoint_preset_selected_title: {
english: 'Active!',
translated: '¡Activo!',
},
com_endpoint_preset_name: {
english: 'Preset Name',
translated: 'Nombre de la configuración preestablecida',
},
com_endpoint_new_topic: {
english: 'New Topic',
translated: 'Nuevo tema',
},
com_endpoint: {
english: 'Endpoint',
translated: 'Endpoint',
},
com_endpoint_hide: {
english: 'Hide',
translated: 'Ocultar',
},
com_endpoint_show: {
english: 'Show',
translated: 'Mostrar',
},
com_endpoint_examples: {
english: ' Presets',
translated: ' Configuraciones preestablecidas',
},
com_endpoint_completion: {
english: 'Completion',
translated: 'Finalización',
},
com_endpoint_agent: {
english: 'Agent',
translated: 'Agente',
},
com_endpoint_show_what_settings: {
english: 'Show {0} Settings',
translated: 'Mostrar configuración de {0}',
},
com_endpoint_export: {
english: 'Export',
translated: 'Exportar',
},
com_endpoint_assistant: {
english: 'Assistant',
translated: 'Asistente',
},
com_endpoint_use_active_assistant: {
english: 'Use Active Assistant',
translated: 'Utilizar asistente activo',
},
com_endpoint_assistant_model: {
english: 'Assistant Model',
translated: 'Modelo de asistente',
},
com_endpoint_save_as_preset: {
english: 'Save As Preset',
translated: 'Guardar como configuración preestablecida',
},
com_endpoint_presets_clear_warning: {
english: 'Are you sure you want to clear all presets? This is irreversible.',
translated:
'¿Estás seguro de que quieres borrar todas las configuraciones preestablecidas? Esto es irreversible.',
},
com_endpoint_not_implemented: {
english: 'Not implemented',
translated: 'No implementado',
},
com_endpoint_no_presets: {
english: 'No presets yet, use the settings button to create one',
translated:
'Aún no hay configuraciones preestablecidas, utiliza el botón de configuración para crear una',
},
com_endpoint_not_available: {
english: 'No endpoint available',
translated: 'No hay endpoint disponible',
},
com_endpoint_view_options: {
english: 'View Options',
translated: 'Ver opciones',
},
com_endpoint_save_convo_as_preset: {
english: 'Save Conversation as Preset',
translated: 'Guardar conversación como configuración preestablecida',
},
com_endpoint_my_preset: {
english: 'My Preset',
translated: 'Mi configuración preestablecida',
},
com_endpoint_agent_model: {
english: 'Agent Model (Recommended: GPT-3.5)',
translated: 'Modelo de agente (Recomendado: GPT-3.5)',
},
com_endpoint_completion_model: {
english: 'Completion Model (Recommended: GPT-4)',
translated: 'Modelo de finalización (Recomendado: GPT-4)',
},
com_endpoint_func_hover: {
english: 'Enable use of Plugins as OpenAI Functions',
translated: 'Habilitar el uso de Plugins como funciones de OpenAI',
},
com_endpoint_skip_hover: {
english:
'Enable skipping the completion step, which reviews the final answer and generated steps',
translated:
'Habilitar omitir el paso de finalización, que revisa la respuesta final y los pasos generados',
},
com_endpoint_config_key: {
english: 'Set API Key',
translated: 'Establecer clave API',
},
com_endpoint_assistant_placeholder: {
english: 'Please select an Assistant from the right-hand Side Panel',
translated: 'Por favor, seleccione un Asistente desde el panel lateral derecho',
},
com_endpoint_config_placeholder: {
english: 'Set your Key in the Header menu to chat.',
translated: 'Establezca su clave en el menú del encabezado para chatear.',
},
com_endpoint_config_key_for: {
english: 'Set API Key for',
translated: 'Establecer clave API para',
},
com_endpoint_config_key_name: {
english: 'Key',
translated: 'Clave',
},
com_endpoint_config_value: {
english: 'Enter value for',
translated: 'Ingresar valor para',
},
com_endpoint_config_key_name_placeholder: {
english: 'Set API key first',
translated: 'Establezca primero la clave API',
},
com_endpoint_config_key_encryption: {
english: 'Your key will be encrypted and deleted at',
translated: 'Tu clave será encriptada y eliminada en',
},
com_endpoint_config_key_expiry: {
english: 'the expiry time',
translated: 'el tiempo de expiración',
},
com_endpoint_config_click_here: {
english: 'Click Here',
translated: 'Haz clic aquí',
},
com_endpoint_config_google_service_key: {
english: 'Google Service Account Key',
translated: 'Clave de cuenta de servicio de Google',
},
com_endpoint_config_google_cloud_platform: {
english: '(from Google Cloud Platform)',
translated: '(de Google Cloud Platform)',
},
com_endpoint_config_google_api_key: {
english: 'Google API Key',
translated: 'Clave API de Google',
},
com_endpoint_config_google_gemini_api: {
english: '(Gemini API)',
translated: '(API Gemini)',
},
com_endpoint_config_google_api_info: {
english: 'To get your Generative Language API key (for Gemini),',
translated: 'Para obtener tu clave de la API de Lenguaje Generativo (para Gemini),',
},
com_endpoint_config_key_import_json_key: {
english: 'Import Service Account JSON Key.',
translated: 'Importar clave JSON de cuenta de servicio.',
},
com_endpoint_config_key_import_json_key_success: {
english: 'Successfully Imported Service Account JSON Key',
translated: 'Clave JSON de cuenta de servicio importada correctamente',
},
com_endpoint_config_key_import_json_key_invalid: {
english: 'Invalid Service Account JSON Key, Did you import the correct file?',
translated: 'Clave JSON de cuenta de servicio no válida, ¿importaste el archivo correcto?',
},
com_endpoint_config_key_get_edge_key: {
english: 'To get your Access token for Bing, login to',
translated: 'Para obtener tu token de acceso para Bing, inicia sesión en',
},
com_endpoint_config_key_get_edge_key_dev_tool: {
english:
'Use dev tools or an extension while logged into the site to copy the content of the _U cookie. If this fails, follow these',
translated:
'Utiliza las herramientas de desarrollador o una extensión mientras estás conectado al sitio para copiar el contenido de la cookie _U. Si esto falla, sigue estas',
},
com_endpoint_config_key_edge_instructions: {
english: 'instructions',
translated: 'instrucciones',
},
com_endpoint_config_key_edge_full_key_string: {
english: 'to provide the full cookie strings.',
translated: 'para proporcionar las cadenas de cookies completas.',
},
com_endpoint_config_key_chatgpt: {
english: 'To get your Access token For ChatGPT \'Free Version\', login to',
translated: 'Para obtener tu token de acceso para ChatGPT \'Versión gratuita\', inicia sesión en',
},
com_endpoint_config_key_chatgpt_then_visit: {
english: 'then visit',
translated: 'y luego visita',
},
com_endpoint_config_key_chatgpt_copy_token: {
english: 'Copy access token.',
translated: 'Copia el token de acceso.',
},
com_endpoint_config_key_google_need_to: {
english: 'You need to',
translated: 'Necesitas',
},
com_endpoint_config_key_google_vertex_ai: {
english: 'Enable Vertex AI',
translated: 'Habilitar el Vertex AI',
},
com_endpoint_config_key_google_vertex_api: {
english: 'API on Google Cloud, then',
translated: 'API en Google Cloud, luego',
},
com_endpoint_config_key_google_service_account: {
english: 'Create a Service Account',
translated: 'Crear una Cuenta de Servicio',
},
com_endpoint_config_key_google_vertex_api_role: {
english:
'Make sure to click \'Create and Continue\' to give at least the \'Vertex AI User\' role. Lastly, create a JSON key to import here.',
translated:
'Asegúrate de hacer clic en \'Crear y continuar\' para otorgar al menos el rol de \'Usuario de Vertex AI\'. Por último, crea una clave JSON para importar aquí.',
},
com_nav_welcome_assistant: {
english: 'Please Select an Assistant',
translated: 'Por favor, selecciona un asistente',
},
com_nav_welcome_message: {
english: 'How can I help you today?',
translated: '¿En qué puedo ayudarte hoy?',
},
com_nav_auto_scroll: {
english: 'Auto-Scroll to latest message on chat open',
translated: 'Desplazamiento automático al más reciente al abrir',
},
com_nav_hide_panel: {
english: 'Hide right-most side panel',
translated: 'Ocultar el panel lateral derecho',
},
com_nav_enter_to_send: {
english: 'Press Enter to send messages',
translated: 'Enviar mensaje con la tecla Enter',
},
com_nav_modular_chat: {
english: 'Enable switching Endpoints mid-conversation',
translated: 'Habilitar el cambio de puntos finales en medio de una conversación',
},
com_nav_latex_parsing: {
english: 'Parsing LaTeX in messages (may affect performance)',
translated: 'Analizar LaTeX en los mensajes (puede afectar el rendimiento)',
},
com_nav_profile_picture: {
english: 'Profile Picture',
translated: 'Imagen de perfil',
},
com_nav_change_picture: {
english: 'Change picture',
translated: 'Cambiar imagen',
},
com_nav_plugin_store: {
english: 'Plugin store',
translated: 'Tienda de plugins',
},
com_nav_plugin_install: {
english: 'Install',
translated: 'Instalar',
},
com_nav_plugin_uninstall: {
english: 'Uninstall',
translated: 'Desinstalar',
},
com_nav_tool_add: {
english: 'Add',
translated: 'Agregar',
},
com_nav_tool_remove: {
english: 'Remove',
translated: 'Eliminar',
},
com_nav_tool_dialog: {
english: 'Assistant Tools',
translated: 'Herramientas del asistente',
},
com_nav_tool_dialog_description: {
english: 'Assistant must be saved to persist tool selections.',
translated: 'El asistente debe guardarse para que las selecciones de herramientas persistan.',
},
com_show_agent_settings: {
english: 'Show Agent Settings',
translated: 'Mostrar configuración del agente',
},
com_show_completion_settings: {
english: 'Show Completion Settings',
translated: 'Mostrar configuración de completado',
},
com_hide_examples: {
english: 'Hide Examples',
translated: 'Ocultar ejemplos',
},
com_show_examples: {
english: 'Show Examples',
translated: 'Mostrar ejemplos',
},
com_nav_plugin_search: {
english: 'Search plugins',
translated: 'Buscar plugins',
},
com_nav_tool_search: {
english: 'Search tools',
translated: 'Buscar herramientas',
},
com_nav_plugin_auth_error: {
english: 'There was an error attempting to authenticate this plugin. Please try again.',
translated: 'Hubo un error al intentar autenticar este plugin. Por favor, inténtalo de nuevo.',
},
com_nav_export_filename: {
english: 'Filename',
translated: 'Nombre de archivo',
},
com_nav_export_filename_placeholder: {
english: 'Set the filename',
translated: 'Establecer el nombre de archivo',
},
com_nav_export_type: {
english: 'Type',
translated: 'Tipo',
},
com_nav_export_include_endpoint_options: {
english: 'Include endpoint options',
translated: 'Incluir opciones de punto final',
},
com_nav_enabled: {
english: 'Enabled',
translated: 'Habilitado',
},
com_nav_not_supported: {
english: 'Not Supported',
translated: 'No soportado',
},
com_nav_export_all_message_branches: {
english: 'Export all message branches',
translated: 'Exportar todas las ramas de mensajes',
},
com_nav_export_recursive_or_sequential: {
english: 'Recursive or sequential?',
translated: '¿Recursivo o secuencial?',
},
com_nav_export_recursive: {
english: 'Recursive',
translated: 'Recursivo',
},
com_nav_export_conversation: {
english: 'Export conversation',
translated: 'Exportar conversación',
},
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_nav_export: {
english: 'Export',
translated: 'Exportar',
},
com_nav_shared_links: {
english: 'Shared links',
translated: 'Links Compartidos',
},
com_nav_shared_links_manage: {
english: 'Manage',
translated: 'Gerenciar',
},
com_nav_shared_links_empty: {
english: 'You have no shared links.',
translated: 'Você não tem nenhum link compartilhado.',
},
com_nav_shared_links_name: {
english: 'Name',
translated: 'Nome',
},
com_nav_shared_links_date_shared: {
english: 'Date shared',
translated: 'Data compartilhada',
},
com_nav_my_files: {
english: 'My Files',
translated: 'Mis archivos',
},
com_nav_theme: {
english: 'Theme',
translated: 'Tema',
},
com_nav_theme_system: {
english: 'System',
translated: 'Sistema',
},
com_nav_theme_dark: {
english: 'Dark',
translated: 'Oscuro',
},
com_nav_theme_light: {
english: 'Light',
translated: 'Claro',
},
com_nav_user_name_display: {
english: 'Display username in messages',
translated: 'Mostrar nombre de usuario en los mensajes',
},
com_nav_save_drafts: {
english: 'Save drafts locally',
translated: 'Guardar borradores localmente',
},
com_nav_show_code: {
english: 'Always show code when using code interpreter',
translated: 'Mostrar siempre el código cuando se use el intérprete de código',
},
com_nav_clear_all_chats: {
english: 'Clear all chats',
translated: 'Borrar todos los chats',
},
com_nav_confirm_clear: {
english: 'Confirm Clear',
translated: 'Confirmar borrado',
},
com_nav_close_sidebar: {
english: 'Close sidebar',
translated: 'Cerrar barra lateral',
},
com_nav_open_sidebar: {
english: 'Open sidebar',
translated: 'Abrir barra lateral',
},
com_nav_send_message: {
english: 'Send message',
translated: 'Enviar mensaje',
},
com_nav_log_out: {
english: 'Log out',
translated: 'Cerrar sesión',
},
com_nav_user: {
english: 'USER',
translated: 'USUARIO',
},
com_nav_archived_chats: {
english: 'Archived chats',
translated: 'Archivadas',
},
com_nav_archived_chats_manage: {
english: 'Manage',
translated: 'Gestionar',
},
com_nav_archived_chats_empty: {
english: 'You have no archived conversations.',
translated: 'No tienes conversaciones archivadas.',
},
com_nav_archive_all_chats: {
english: 'Archive all chats',
translated: 'Archivar todas las conversaciones',
},
com_nav_archive_all: {
english: 'Archive all',
translated: 'Archivar todas',
},
com_nav_archive_name: {
english: 'Name',
translated: 'Nombre',
},
com_nav_archive_created_at: {
english: 'DateCreated',
translated: 'CreadoEn',
},
com_nav_clear_conversation: {
english: 'Clear conversations',
translated: 'Borrar conversaciones',
},
com_nav_clear_conversation_confirm_message: {
english: 'Are you sure you want to clear all conversations? This is irreversible.',
translated:
'¿Estás seguro de que quieres borrar todas las conversaciones? Esta acción es irreversible.',
},
com_nav_help_faq: {
english: 'Help & FAQ',
translated: 'Ayuda y preguntas frecuentes',
},
com_nav_settings: {
english: 'Settings',
translated: 'Configuración',
},
com_nav_search_placeholder: {
english: 'Search messages',
translated: 'Buscar mensajes',
},
com_nav_setting_general: {
english: 'General',
translated: 'General',
},
com_nav_setting_beta: {
english: 'Beta features',
translated: 'Funciones beta',
},
com_nav_setting_data: {
english: 'Data controls',
translated: 'Controles de datos',
},
com_nav_setting_account: {
english: 'Account',
translated: 'Cuenta',
},
com_nav_language: {
english: 'Language',
translated: 'Idioma',
},
com_nav_lang_auto: {
english: 'Auto detect',
translated: 'Detección automática',
},
com_nav_lang_spanish: {
english: 'Español',
translated: 'Español',
},
🤖 feat: OpenAI Assistants v2 (initial support) (#2781) * 🤖 Assistants V2 Support: Part 1 - Separated Azure Assistants to its own endpoint - File Search / Vector Store integration is incomplete, but can toggle and use storage from playground - Code Interpreter resource files can be added but not deleted - GPT-4o is supported - Many improvements to the Assistants Endpoint overall data-provider v2 changes copy existing route as v1 chore: rename new endpoint to reduce comparison operations and add new azure filesource api: add azureAssistants part 1 force use of version for assistants/assistantsAzure chore: switch name back to azureAssistants refactor type version: string | number Ensure assistants endpoints have version set fix: isArchived type issue in ConversationListParams refactor: update assistants mutations/queries with endpoint/version definitions, update Assistants Map structure chore: FilePreview component ExtendedFile type assertion feat: isAssistantsEndpoint helper chore: remove unused useGenerations chore(buildTree): type issue chore(Advanced): type issue (unused component, maybe in future) first pass for multi-assistant endpoint rewrite fix(listAssistants): pass params correctly feat: list separate assistants by endpoint fix(useTextarea): access assistantMap correctly fix: assistant endpoint switching, resetting ID fix: broken during rewrite, selecting assistant mention fix: set/invalidate assistants endpoint query data correctly feat: Fix issue with assistant ID not being reset correctly getOpenAIClient helper function feat: add toast for assistant deletion fix: assistants delete right after create issue for azure fix: assistant patching refactor: actions to use getOpenAIClient refactor: consolidate logic into helpers file fix: issue where conversation data was not initially available v1 chat support refactor(spendTokens): only early return if completionTokens isNaN fix(OpenAIClient): ensure spendTokens has all necessary params refactor: route/controller logic fix(assistants/initializeClient): use defaultHeaders field fix: sanitize default operation id chore: bump openai package first pass v2 action service feat: retroactive domain parsing for actions added via v1 feat: delete db records of actions/assistants on openai assistant deletion chore: remove vision tools from v2 assistants feat: v2 upload and delete assistant vision images WIP first pass, thread attachments fix: show assistant vision files (save local/firebase copy) v2 image continue fix: annotations fix: refine annotations show analyze as error if is no longer submitting before progress reaches 1 and show file_search as retrieval tool fix: abort run, undefined endpoint issue refactor: consolidate capabilities logic and anticipate versioning frontend version 2 changes fix: query selection and filter add endpoint to unknown filepath add file ids to resource, deleting in progress enable/disable file search remove version log * 🤖 Assistants V2 Support: Part 2 🎹 fix: Autocompletion Chrome Bug on Action API Key Input chore: remove `useOriginNavigate` chore: set correct OpenAI Storage Source fix: azure file deletions, instantiate clients by source for deletion update code interpret files info feat: deleteResourceFileId chore: increase poll interval as azure easily rate limits fix: openai file deletions, TODO: evaluate rejected deletion settled promises to determine which to delete from db records file source icons update table file filters chore: file search info and versioning fix: retrieval update with necessary tool_resources if specified fix(useMentions): add optional chaining in case listMap value is undefined fix: force assistant avatar roundedness fix: azure assistants, check correct flag chore: bump data-provider * fix: merge conflict * ci: fix backend tests due to new updates * chore: update .env.example * meilisearch improvements * localization updates * chore: update comparisons * feat: add additional metadata: endpoint, author ID * chore: azureAssistants ENDPOINTS exclusion warning
2024-05-19 12:56:55 -04:00
com_assistants_file_search: {
english: 'File Search',
translated: 'Búsqueda de Archivos',
},
com_assistants_file_search_info: {
english:
'Attaching vector stores for File Search is not yet supported. You can attach them from the Provider Playground or attach files to messages for file search on a thread basis.',
translated:
'Adjuntar almacenes vectoriales para la Búsqueda de Archivos aún no está soportado. Puede adjuntarlos desde el Área de Pruebas del Proveedor o adjuntar archivos a los mensajes para la búsqueda de archivos en una conversación específica.',
},
com_assistants_non_retrieval_model: {
english: 'File search is not enabled on this model. Please select another model.',
translated:
'La búsqueda de archivos no está habilitada en este modelo. Por favor, seleccione otro modelo.',
},
com_ui_attach_error_openai: {
english: 'Cannot attach Assistant files to other endpoints',
translated: 'No se pueden adjuntar archivos del Asistente a otros puntos de conexión',
},
com_ui_attach_warn_endpoint: {
english: 'Non-Assistant files may be ignored without a compatible tool',
translated: 'Es posible que los archivos no compatibles con la herramienta sean ignorados',
},
com_ui_assistant_deleted: {
english: 'Successfully deleted assistant',
translated: 'Asistente eliminado con éxito',
},
com_ui_assistant_delete_error: {
english: 'There was an error deleting the assistant',
translated: 'Hubo un error al eliminar el asistente',
},
🚀 feat: Shared Links (#2772) * ✨ feat(types): add necessary types for shared link feature * ✨ feat: add shared links functions to data service Added functions for retrieving, creating, updating, and deleting shared links and shared messages. * ✨ feat: Add useGetSharedMessages hook to fetch shared messages by shareId Adds a new hook `useGetSharedMessages` which fetches shared messages based on the provided shareId. * ✨ feat: Add share schema and data access functions to API models * ✨ feat: Add share endpoint to API The GET /api/share/${shareId} is exposed to the public, so authentication is not required. Other paths require authentication. * ♻️ refactor(utils): generalize react-query cache manipulation functions Introduces generic functions for manipulating react-query cache entries, marking a refinement in how query cache data is managed. It aims to enhance the flexibility and reusability of the cache interaction patterns within our application. - Replaced specific index names with more generic terms in queries.ts, enhancing consistency across data handling functions. - Introduced new utility functions in collection.ts for adding, updating, and deleting data entries in an InfiniteData<TCollection>. These utility functions (`addData`, `updateData`, `deleteData`, `findPage`) are designed to be re-usable across different data types and collections. - Adapted existing conversation utility functions in convos.ts to leverage these new generic utilities. * ✨ feat(shared-link): add functions to manipulate shared link cache list implemented new utility functions to handle additions, updates, and deletions in the shared link cache list. * ✨ feat: Add mutations and queries for shared links * ✨ feat(shared-link): add `Share` button to conversation list - Added a share button in each conversation in the conversation list. - Implemented functionality where clicking the share button triggers a POST request to the API. - The API checks if a share link was already created for the conversation today; if so, it returns the existing link. - If no link was created for today, the API will create a new share link and return it. - Each click on the share button results in a new API request, following the specification similar to ChatGPT's share link feature. * ♻️ refactor(hooks): generalize useNavScrolling for broader use - Modified `useNavScrolling` to accept a generic type parameter `TData`, allowing it to be used with different data structures besides `ConversationListResponse`. - Updated instances in `Nav.tsx` and `ArchivedChatsTable.tsx` to explicitly specify `ConversationListResponse` as the type argument when invoking `useNavScrolling`. * ✨ feat(settings): add shared links listing table with delete functionality in settings - Integrated a delete button for each shared link in the table, allowing users to remove links as needed. * ♻️ refactor(components): separate `EndpointIcon` from `Icon` component for standalone use * ♻️ refactor: update useGetSharedMessages to return TSharedLink - Modified the useGetSharedMessages hook to return not only a list of TMessage but also the TSharedLink itself. - This change was necessary to support displaying the title and date in the Shared Message UI, which requires data from TSharedLink. * ✨ feat(shared link): add UI for displaying shared conversations without authentication - Implemented a new UI component to display shared conversations, designed to be accessible without requiring authentication. - Reused components from the authenticated Messages module where possible. Copied and adapted components that could not be directly reused to fit the non-authenticated context. * 🔧 chore: Add translations Translate labels only. Messages remain in English as they are possibly subject to change. * ♻️ refactor: add icon and tooltip props to EditMenuButton component * moved icon and popover to arguments so that EditMenuButton can be reused. * modified so that when a ShareButton is closed, the parent DropdownMenu is also closed. * ♻️irefactor: added DropdownMenu for Export and Share * ♻️ refactor: renamed component names more intuitive * More accurate naming of the dropdown menu. * When the export button is closed, the parent dropdown menu is also closed. * 🌍 chore: updated translations * 🐞 Fix: OpenID Profile Image Download (#2757) * Add fetch requirement Fixes - error: [openidStrategy] downloadImage: Error downloading image at URL "https://graph.microsoft.com/v1.0/me/photo/$value": TypeError: response.buffer is not a function * Update openidStrategy.js --------- Co-authored-by: Danny Avila <danacordially@gmail.com> * 🚑 fix(export): Issue exporting Conversation with Assistants (#2769) * 🚑 fix(export): use content as text if content is present in the message If the endpoint is assistants, the text of the message goes into content, not message.text. * refactor(ExportModel): TypeScript, remove unused code --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> * 📤style: export button icon (#2752) * refactor(ShareDialog): logic and styling * refactor(ExportAndShareMenu): imports order and icon update * chore: imports * chore: imports/render logic * feat: message branching * refactor: add optional config to useGetStartupConfig * refactor: disable endpoints query * chore: fix search view styling gradient in light mode * style: ShareView gradient styling * refactor(Share): use select queries * style: shared link table buttons * localization and dark text styling * style: fix clipboard button layout shift app-wide and add localization for copy code * support assistants message content in shared links, add useCopyToClipboard, add copy buttons to Search Messages and Shared Link Messages * add localizations * comparisons --------- Co-authored-by: Yuichi Ohneda <ohneda@gmail.com> Co-authored-by: bsu3338 <bsu3338@users.noreply.github.com> Co-authored-by: Fuegovic <32828263+fuegovic@users.noreply.github.com>
2024-05-17 18:13:32 -04:00
com_ui_copied: {
english: 'Copied!',
translated: '¡Copiado!',
},
com_ui_copy_code: {
english: 'Copy code',
translated: 'Copiar código',
},
com_ui_copy_link: {
english: 'Copy link',
translated: 'Copiar enlace',
},
com_ui_update_link: {
english: 'Update link',
translated: 'Actualizar enlace',
},
com_ui_create_link: {
english: 'Create link',
translated: 'Crear enlace',
},
com_nav_source_chat: {
english: 'View source chat',
translated: 'Ver chat de origen',
},
com_ui_date_today: {
english: 'Today',
translated: 'Hoy',
},
com_ui_date_yesterday: {
english: 'Yesterday',
translated: 'Ayer',
},
com_ui_date_previous_7_days: {
english: 'Previous 7 days',
translated: 'Últimos 7 días',
},
com_ui_date_previous_30_days: {
english: 'Previous 30 days',
translated: 'Últimos 30 días',
},
com_ui_date_january: {
english: 'January',
translated: 'Enero',
},
com_ui_date_february: {
english: 'February',
translated: 'Febrero',
},
com_ui_date_march: {
english: 'March',
translated: 'Marzo',
},
com_ui_date_april: {
english: 'April',
translated: 'Abril',
},
com_ui_date_may: {
english: 'May',
translated: 'Mayo',
},
com_ui_date_june: {
english: 'June',
translated: 'Junio',
},
com_ui_date_july: {
english: 'July',
translated: 'Julio',
},
com_ui_date_august: {
english: 'August',
translated: 'Agosto',
},
com_ui_date_september: {
english: 'September',
translated: 'Septiembre',
},
com_ui_date_october: {
english: 'October',
translated: 'Octubre',
},
com_ui_date_november: {
english: 'November',
translated: 'Noviembre',
},
com_ui_date_december: {
english: 'December',
translated: 'Diciembre',
},
com_ui_nothing_found: {
english: 'Nothing found',
translated: 'No se encontró nada',
},
com_ui_go_to_conversation: {
english: 'Go to conversation',
translated: 'Ir a la conversación',
},
com_error_moderation: {
english:
'It appears that the content submitted has been flagged by our moderation system for not aligning with our community guidelines. We\'re unable to proceed with this specific topic. If you have any other questions or topics you\'d like to explore, please edit your message, or create a new conversation.',
translated:
'Parece que el contenido enviado ha sido marcado por nuestro sistema de moderación por no estar alineado con nuestras pautas comunitarias. No podemos proceder con este tema específico. Si tiene alguna otra pregunta o tema que le gustaría explorar, por favor edite su mensaje o cree una nueva conversación.',
},
com_error_no_user_key: {
english: 'No key found. Please provide a key and try again.',
translated:
'No se encontró ninguna clave. Por favor, proporcione una clave e inténtelo de nuevo.',
},
com_error_invalid_user_key: {
english: 'Invalid key provided. Please provide a key and try again.',
translated:
'Clave proporcionada no válida. Por favor proporcione una clave válida e inténtelo de nuevo.',
},
com_error_expired_user_key: {
english: 'Provided key for {0} expired at {1}. Please provide a key and try again.',
translated:
'La clave proporcionada para {0} expiró en {1}. Por favor, proporcione una clave nueva e inténtelo de nuevo.',
},
com_ui_off: {
english: 'Off',
translated: 'Desactivado',
},
com_ui_none_selected: {
english: 'None selected',
translated: 'No se ha seleccionado ninguno',
},
com_ui_fork_info_1: {
english: 'Use this setting to fork messages with the desired behavior.',
translated:
'com_ui_fork_info_1: \'Utilice esta configuración para bifurcar los mensajes con el comportamiento deseado.\'',
},
com_ui_fork_info_2: {
english:
'"Forking" refers to creating a new conversation that start/end from specific messages in the current conversation, creating a copy according to the options selected.',
translated:
'"Bifurcar" se refiere a crear una nueva conversación que comienza/termina desde mensajes específicos en la conversación actual, creando una copia según las opciones seleccionadas.',
},
com_ui_fork_info_visible: {
english:
'This option forks only the visible messages; in other words, the direct path to the target message, without any branches.',
translated:
'Esta opción bifurca únicamente los mensajes visibles; es decir, la ruta directa hacia el mensaje objetivo, sin ninguna ramificación.',
},
com_ui_fork_info_start: {
english:
'If checked, forking will commence from this message to the latest message in the conversation, according to the behavior selected above.',
translated:
'Si se marca, la bifurcación comenzará desde este mensaje hasta el último mensaje de la conversación, según el comportamiento seleccionado anteriormente.',
},
com_ui_fork_success: {
english: 'Successfully forked conversation',
translated: 'Se ha bifurcado la conversación con éxito',
},
com_ui_fork_processing: {
english: 'Forking conversation...',
translated: 'Bifurcando conversación...',
},
com_ui_fork_error: {
english: 'There was an error forking the conversation',
translated: 'Hubo un error al bifurcar la conversación',
},
com_ui_fork_split_target_setting: {
english: 'Start fork from target message by default',
translated: 'Iniciar bifurcación desde el mensaje objetivo de forma predeterminada',
},
com_ui_import_conversation_file_type_error: {
english: 'Unsupported import type',
translated:
'com_ui_import_conversation_file_type_error: Tipo de archivo no compatible para importar',
},
com_ui_min_tags: {
english: 'Cannot remove more values, a minimum of {0} are required.',
translated: 'No se pueden eliminar más valores, se requiere un mínimo de {0}.',
},
com_endpoint_messages: {
english: 'Messages',
translated: 'Mensajes',
},
com_endpoint_context_tokens: {
english: 'Max Context Tokens',
translated: 'Máximo de tokens de contexto',
},
com_endpoint_stop_placeholder: {
english: 'Separate values by pressing `Enter`',
translated: 'Separe los valores presionando `Intro`',
},
com_error_no_base_url: {
english: 'No base URL found. Please provide one and try again.',
translated: 'No se encontró URL base. Por favor proporcione una y vuelva a intentarlo.',
},
com_sidepanel_parameters: {
english: 'Parameters',
translated: 'Parámetros',
},
com_ui_field_required: {
english: 'This field is required',
translated: 'Este campo es obligatorio',
},
com_ui_download_error: {
english: 'Error downloading file. The file may have been deleted.',
translated:
'Hubo un error al descargar el archivo. Es posible que el archivo haya sido eliminado.',
},
com_ui_on: {
english: 'On',
translated: 'Encendido',
},
com_ui_yes: {
english: 'Yes',
translated: 'Sí',
},
com_ui_no: {
english: 'No',
translated: 'No',
},
com_ui_fork: {
english: 'Fork',
translated: 'Bifurcar',
},
com_ui_fork_info_3: {
english:
'The "target message" refers to either the message this popup was opened from, or, if you check "{0}", the latest message in the conversation.',
translated:
'El término "mensaje objetivo" se refiere ya sea al mensaje desde el cual se abrió este popup, o, si marca "{0}", al último mensaje en la conversación.',
},
com_ui_fork_info_branches: {
english:
'This option forks the visible messages, along with related branches; in other words, the direct path to the target message, including branches along the path.',
translated:
'Esta opción bifurca los mensajes visibles, junto con las ramas relacionadas; en otras palabras, la ruta directa hacia el mensaje objetivo, incluyendo las ramas a lo largo de esa ruta.',
},
com_ui_fork_info_target: {
english:
'This option forks all messages leading up to the target message, including its neighbors; in other words, all message branches, whether or not they are visible or along the same path, are included.',
translated:
'Esta opción bifurca todos los mensajes que conducen al mensaje objetivo, incluyendo sus vecinos; en otras palabras, se incluyen todas las ramas de mensajes, ya sean visibles o no, o estén en el mismo camino.',
},
com_ui_fork_info_remember: {
english:
'Check this to remember the options you select for future usage, making it quicker to fork conversations as preferred.',
translated:
'Marque esta opción para recordar las preferencias que seleccione para su uso futuro, lo que agilizará la bifurcación de conversaciones según sus preferencias.',
},
com_ui_fork_change_default: {
english: 'Default fork option',
translated: 'Opción de bifurcación predeterminada',
},
com_ui_fork_default: {
english: 'Use default fork option',
translated: 'Utilizar opción de bifurcación predeterminada',
},
com_ui_fork_remember: {
english: 'Remember',
translated: 'Recuerde',
},
com_ui_fork_split_target: {
english: 'Start fork here',
translated: 'Iniciar bifurcación aquí',
},
com_ui_fork_remember_checked: {
english:
'Your selection will be remembered after usage. Change this at any time in the settings.',
translated:
'Su selección se recordará después de utilizarla. Puede cambiar esta opción en cualquier momento en la configuración.',
},
com_ui_fork_all_target: {
english: 'Include all to/from here',
translated: 'Incluir todo desde/hacia aquí',
},
com_ui_fork_branches: {
english: 'Include related branches',
translated: 'Incluir ramas relacionadas',
},
com_ui_fork_visible: {
english: 'Visible messages only',
translated: 'Mostrar únicamente mensajes visibles',
},
com_ui_fork_from_message: {
english: 'Select a fork option',
translated: 'Seleccione una opción de bifurcación',
},
com_ui_mention: {
english: 'Mention an endpoint, assistant, or preset to quickly switch to it',
translated:
'Menciona un punto de conexión, asistente o preconfiguración para cambiar rápidamente a él.',
},
com_ui_max_tags: {
english: 'Maximum number allowed is {0}, using latest values.',
translated: 'El número máximo permitido es {0}, utilizando los valores más recientes.',
},
com_endpoint_context_info: {
english:
'The maximum number of tokens that can be used for context. Use this for control of how many tokens are sent per request.\n If unspecified, will use system defaults based on known models\' context size. Setting higher values may result in errors and/or higher token cost.',
translated:
'La cantidad máxima de tokens que se pueden utilizar para el contexto. Utilice esto para controlar cuántos tokens se envían por solicitud. Si no se especifica, se utilizarán los valores predeterminados del sistema basados en el tamaño de contexto conocido de los modelos. Establecer valores más altos puede resultar en errores y/o un mayor costo de tokens.',
},
com_endpoint_stop: {
english: 'Stop Sequences',
translated: 'Secuencias de detención',
},
com_endpoint_openai_max_tokens: {
english:
'Optional `max_tokens` field, representing the maximum number of tokens that can be generated in the chat completion.\n \n The total length of input tokens and generated tokens is limited by the models context length. You may experience errors if this number exceeds the max context tokens.',
translated:
'Campo opcional `max_tokens`, que representa el número máximo de tokens que se pueden generar en la finalización del chat.\n\nLa longitud total de los tokens de entrada y los tokens generados está limitada por la longitud del contexto del modelo. Puede experimentar errores si este número excede los tokens máximos de contexto.',
},
com_endpoint_openai_stop: {
english: 'Up to 4 sequences where the API will stop generating further tokens.',
translated: 'Hasta 4 secuencias donde la API dejará de generar más tokens.',
},
com_nav_lang_english: {
english: 'English',
translated: 'Inglés',
},
com_nav_lang_chinese: {
english: '中文',
translated: 'Chino',
},
com_nav_lang_german: {
english: 'Deutsch',
translated: 'Alemán',
},
com_nav_lang_french: {
english: 'Français ',
translated: 'Francés',
},
com_nav_lang_italian: {
english: 'Italiano',
translated: 'Español',
},
com_nav_lang_polish: {
english: 'Polski',
translated: 'Polaco',
},
com_nav_lang_brazilian_portuguese: {
english: 'Português Brasileiro',
translated: 'Portugués de Brasil',
},
com_nav_lang_russian: {
english: 'Русский',
translated: 'Ruso',
},
com_nav_lang_japanese: {
english: '日本語',
translated: 'Japonés',
},
com_nav_lang_swedish: {
english: 'Svenska',
translated: 'Idioma sueco',
},
com_nav_lang_korean: {
english: '한국어',
translated: 'Coreano',
},
com_nav_lang_vietnamese: {
english: 'Tiếng Việt',
translated: 'Vietnamita',
},
com_nav_lang_traditionalchinese: {
english: '繁體中文',
translated: 'Chino tradicional',
},
com_nav_lang_arabic: {
english: 'العربية',
translated: 'Árabe',
},
com_nav_lang_turkish: {
english: 'Türkçe',
translated: 'Idioma turco',
},
com_nav_lang_dutch: {
english: 'Nederlands',
translated: 'Holandés',
},
com_nav_lang_indonesia: {
english: 'Indonesia',
translated: 'Indonesia',
},
com_nav_lang_hebrew: {
english: 'עברית',
translated: 'עברית',
},
};