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

1382 lines
54 KiB
TypeScript
Raw Normal View History

// Swedish phrases
export default {
com_ui_examples: 'Exempel',
com_ui_new_chat: 'Ny chatt',
com_ui_happy_birthday: 'Det är min första födelsedag!',
com_ui_example_quantum_computing: 'Förklara kvantberäkning på enkla termer',
com_ui_example_10_year_old_b_day: 'Har du några kreativa idéer till ett 10-årings födelsedag?',
com_ui_example_http_in_js: 'Hur gör jag en HTTP-förfrågan i Javascript?',
com_ui_capabilities: 'Möjligheter',
com_ui_capability_remember: 'Kommer ihåg vad användaren sa tidigare i konversationen',
com_ui_capability_correction: 'Tillåter användaren att ge uppföljande rättelser',
com_ui_capability_decline_requests: 'Tränad för att avvisa olämpliga förfrågningar',
com_ui_limitations: 'Begränsningar',
com_ui_limitation_incorrect_info: 'Kan ibland generera felaktig information',
com_ui_limitation_harmful_biased:
'Kan ibland producera skadliga instruktioner eller snedvridet innehåll',
com_ui_limitation_limited_2021: 'Begränsad kunskap om världen och händelser efter 2021',
com_ui_input: 'Inmatning',
com_ui_close: 'Stäng',
com_ui_model: 'Modell',
com_ui_select_model: 'Välj en modell',
com_ui_use_prompt: 'Använd prompt',
com_ui_prev: 'Föregående',
com_ui_next: 'Nästa',
com_ui_prompt_templates: 'Prompt Mallar',
com_ui_hide_prompt_templates: 'Dölj Prompt Mallar',
com_ui_showing: 'Visar',
com_ui_of: 'av',
com_ui_entries: 'Inlägg',
com_ui_pay_per_call: 'Alla AI-konversationer på ett ställe. Betala per anrop och inte per månad',
com_ui_enter: 'Ange',
com_ui_submit: 'Skicka',
com_ui_upload_success: 'Uppladdningen av filen lyckades',
com_ui_upload_invalid: 'Ogiltig fil för uppladdning',
com_ui_cancel: 'Avbryt',
com_ui_save: 'Spara',
com_ui_copy_to_clipboard: 'Kopiera till urklipp',
com_ui_copied_to_clipboard: 'Kopierat till urklipp',
com_ui_regenerate: 'Återskapa',
com_ui_continue: 'Fortsätt',
com_ui_edit: 'Redigera',
com_ui_success: 'Lyckades',
com_ui_all: 'alla',
com_ui_clear: 'Rensa',
com_ui_revoke: 'Återkalla',
com_ui_revoke_info: 'Återkalla alla användaruppgifter.',
📥 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: 'Importera',
com_ui_import_conversation_info: 'Importera konversationer från en JSON-fil',
com_ui_import_conversation_success: 'Konversationer har importerats framgångsrikt',
com_ui_import_conversation_error: 'Det uppstod ett fel vid import av dina konversationer',
com_ui_confirm_action: 'Bekräfta åtgärd',
com_ui_chats: 'chattar',
com_ui_share: 'Dela',
com_ui_copy_link: 'Kopiera länk',
com_ui_update_link: 'Uppdatera länk',
com_ui_create_link: 'Skapa länk',
com_ui_share_link_to_chat: 'Dela länk till chatt',
com_ui_share_error: 'Ett fel uppstod vid delning av chattlänken',
com_ui_share_create_message: 'Ditt namn och alla meddelanden du lägger till efter delningen förblir privata.',
🚀 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_created_message:
'En delad länk till din chatt har skapats. Hantera tidigare delade chattar när som helst via Inställningar.',
🚀 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_update_message:
'Ditt namn, anpassade instruktioner och alla meddelanden du lägger till efter delningen förblir privata.',
🚀 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_updated_message:
'En delad länk till din chatt har uppdaterats. Hantera tidigare delade chattar när som helst via Inställningar.',
com_ui_shared_link_not_found: 'Delad länk hittades inte',
com_ui_delete: 'Radera',
com_ui_delete_conversation: 'Radera chatt?',
com_ui_delete_conversation_confirm: 'Detta kommer att radera',
🚀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: 'byta namn på',
com_ui_archive: 'Arkiv',
com_ui_archive_error: 'Kunde inte arkivera chatt',
com_ui_unarchive: 'Avarkivera',
com_ui_unarchive_error: 'Kunde inte avarkivera chatt',
com_ui_more_options: 'Mer',
com_auth_error_login:
'Kunde inte logga in med den angivna informationen. Kontrollera dina uppgifter och försök igen.',
com_auth_error_login_rl:
'För många inloggningsförsök från den här IP-adressen på kort tid. Vänligen försök igen senare.',
com_auth_no_account: 'Har du inget konto?',
com_auth_sign_up: 'Registrera dig',
com_auth_sign_in: 'Logga in',
com_auth_google_login: 'Logga in med Google',
com_auth_facebook_login: 'Logga in med Facebook',
com_auth_github_login: 'Logga in med Github',
com_auth_discord_login: 'Logga in med Discord',
com_auth_email: 'E-post',
com_auth_email_required: 'E-post krävs',
com_auth_email_min_length: 'E-post måste vara minst 6 tecken',
com_auth_email_max_length: 'E-post får inte vara längre än 120 tecken',
com_auth_email_pattern: 'Du måste ange en giltig e-postadress',
com_auth_email_address: 'E-postadress',
com_auth_password: 'Lösenord',
com_auth_password_required: 'Lösenord krävs',
com_auth_password_min_length: 'Lösenordet måste vara minst 8 tecken',
com_auth_password_max_length: 'Lösenordet får inte vara längre än 128 tecken',
com_auth_password_forgot: 'Glömt lösenord?',
com_auth_password_confirm: 'Bekräfta lösenord',
com_auth_password_not_match: 'Lösenorden matchar inte',
com_auth_continue: 'Fortsätt',
com_auth_create_account: 'Skapa ditt konto',
com_auth_error_create:
'Det uppstod ett fel när du försökte registrera ditt konto. Vänligen försök igen.',
com_auth_full_name: 'Fullständigt namn',
com_auth_name_required: 'Namn krävs',
com_auth_name_min_length: 'Namnet måste vara minst 3 tecken',
com_auth_name_max_length: 'Namnet får inte vara längre än 80 tecken',
com_auth_username: 'Användarnamn (valfritt)',
com_auth_username_required: 'Användarnamn krävs',
com_auth_username_min_length: 'Användarnamnet måste vara minst 2 tecken',
com_auth_username_max_length: 'Användarnamnet får inte vara längre än 20 tecken',
com_auth_already_have_account: 'Har du redan ett konto?',
com_auth_login: 'Logga in',
com_auth_reset_password: 'Återställ ditt lösenord',
com_auth_click: 'Klicka',
com_auth_here: 'HÄR',
com_auth_to_reset_your_password: 'för att återställa ditt lösenord.',
com_auth_reset_password_link_sent: 'E-post skickad',
com_auth_reset_password_email_sent:
'Ett e-postmeddelande har skickats till dig med ytterligare instruktioner för att återställa ditt lösenord.',
com_auth_error_reset_password:
'Det uppstod ett problem med att återställa ditt lösenord. Ingen användare hittades med den angivna e-postadressen. Vänligen försök igen.',
com_auth_reset_password_success: 'Lösenordsåterställning lyckades',
com_auth_login_with_new_password: 'Du kan nu logga in med ditt nya lösenord.',
com_auth_error_invalid_reset_token: 'Detta lösenordsåterställningsnyckel är inte längre giltigt.',
com_auth_click_here: 'Klicka här',
com_auth_to_try_again: 'för att försöka igen.',
com_auth_submit_registration: 'Skicka registrering',
com_auth_welcome_back: 'Välkommen tillbaka',
com_endpoint_open_menu: 'Öppna meny',
com_endpoint_bing_enable_sydney: 'Aktivera Sydney',
com_endpoint_bing_to_enable_sydney: 'För att aktivera Sydney',
com_endpoint_bing_jailbreak: 'Jailbreak',
com_endpoint_bing_context_placeholder:
'Bing kan använda upp till 7k tokens för "kontext", som den kan referera till under konversationen. Den specifika gränsen är inte känd men kan stöta på fel om den överstiger 7k tokens',
com_endpoint_bing_system_message_placeholder:
'VARNING: Otillåten användning av denna funktion kan få dig BANNAD från att använda Bing! Klicka på "Systemmeddelande" för fullständiga instruktioner och standardmeddelandet om det utelämnas, vilket är "Sydney"-förinställningen som anses vara säker.',
com_endpoint_system_message: 'Systemmeddelande',
com_endpoint_default_blank: 'standard: tom',
com_endpoint_default_false: 'standard: falsk',
com_endpoint_default_creative: 'standard: kreativ',
com_endpoint_default_empty: 'standard: tom',
com_endpoint_default_with_num: 'standard: {0}',
com_endpoint_context: 'Kontext',
com_endpoint_tone_style: 'Tonstil',
com_endpoint_token_count: 'Antal tokens',
com_endpoint_output: 'Utdata',
com_endpoint_google_temp:
'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.',
com_endpoint_google_topp:
'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.',
com_endpoint_google_topk:
'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).',
com_endpoint_google_maxoutputtokens:
'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.',
com_endpoint_google_custom_name_placeholder: 'Ange ett anpassat namn för Google',
com_endpoint_prompt_prefix_placeholder:
'Ange anpassade instruktioner eller kontext. Ignoreras om tom.',
com_endpoint_custom_name: 'Anpassat namn',
com_endpoint_prompt_prefix: 'Uppmaningsprefix',
com_endpoint_temperature: 'Temperatur',
com_endpoint_default: 'standard',
com_endpoint_top_p: 'Top P',
com_endpoint_top_k: 'Top K',
com_endpoint_max_output_tokens: 'Max utdatatokens',
com_endpoint_openai_temp:
'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.',
com_endpoint_openai_max:
'Max tokens att generera. Den totala längden på tokens för inmatning och svar är begränsad av modellen som används.',
com_endpoint_openai_topp:
'Ett alternativ till temperatur, kallat kärnprovtagning, där modellen beaktar resultaten av tokens med top_p-sannolikhetsmassa. Så 0,1 innebär att endast de tokens som utgör den översta 10% sannolikhetsmassan beaktas. Vi rekommenderar att ändra detta eller temperaturen men inte båda.',
com_endpoint_openai_freq:
'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på deras befintliga frekvens i texten hittills, vilket minskar modellens sannolikhet att upprepa samma rad ordagrant.',
com_endpoint_openai_pres:
'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på om de förekommer i texten hittills, vilket ökar modellens sannolikhet att prata om nya ämnen.',
com_endpoint_openai_custom_name_placeholder: 'Ange ett eget namn för ChatGPT',
com_endpoint_openai_prompt_prefix_placeholder:
'Ange anpassade instruktioner att inkludera i Systemmeddelande. Standard: inga',
com_endpoint_anthropic_temp:
'Varierar mellan 0 och 1. Använd temp närmare 0 för analytiska/flervalsfrågor och närmare 1 för kreativa och generativa uppgifter. Vi rekommenderar att ändra detta eller Top P men inte båda.',
com_endpoint_anthropic_topp:
'Top-p ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.',
com_endpoint_anthropic_topk:
'Top-k ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).',
com_endpoint_anthropic_maxoutputtokens:
'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.',
com_endpoint_anthropic_custom_name_placeholder: 'Ange ett anpassat namn för Anthropic',
com_endpoint_frequency_penalty: 'Frekvensstraff',
com_endpoint_presence_penalty: 'Närvarostraff',
com_endpoint_plug_use_functions: 'Använd funktioner',
com_endpoint_plug_skip_completion: 'Hoppa över komplettering',
com_endpoint_disabled_with_tools: 'inaktiverad med verktyg',
com_endpoint_disabled_with_tools_placeholder: 'Inaktiverad med valda verktyg',
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
'Ange anpassade instruktioner att inkludera i systemmeddelande. Standard: inga',
com_endpoint_import: 'Importera',
com_endpoint_set_custom_name: 'Ange ett eget namn, om du kan hitta denna förinställning',
com_endpoint_preset: 'förinställning',
com_endpoint_presets: 'förinställningar',
com_endpoint_preset_name: 'Förinställningsnamn',
com_endpoint_new_topic: 'Nytt ämne',
com_endpoint: 'Slutpunkt',
com_endpoint_hide: 'Dölj',
com_endpoint_show: 'Visa',
com_endpoint_examples: ' Förinställningar',
com_endpoint_completion: 'Komplettering',
com_endpoint_agent: 'Agent',
com_endpoint_show_what_settings: 'Visa {0} inställningar',
com_endpoint_save: 'Spara',
com_endpoint_export: 'Exportera',
com_endpoint_save_as_preset: 'Spara som förinställning',
com_endpoint_presets_clear_warning:
'Är du säker på att du vill rensa alla förinställningar? Detta går inte att ångra.',
com_endpoint_not_implemented: 'Ej implementerad',
com_endpoint_no_presets: 'Ingen förinställning ännu',
com_endpoint_not_available: 'Ingen slutpunkt tillgänglig',
com_endpoint_view_options: 'Visa alternativ',
com_endpoint_save_convo_as_preset: 'Spara konversation som förinställning',
com_endpoint_my_preset: 'Min förinställning',
com_endpoint_agent_model: 'Agentmodell (Rekommenderad: GPT-3.5)',
com_endpoint_completion_model: 'Kompletteringsmodell (Rekommenderad: GPT-4)',
com_endpoint_func_hover: 'Aktivera användning av tillägg som OpenAI-funktioner',
com_endpoint_skip_hover:
'Aktivera att hoppa över kompletteringssteg, som granskar det slutliga svaret och genererade steg',
com_endpoint_config_key: 'Ange API-nyckel',
com_endpoint_config_key_for: 'Ange API-nyckel för',
com_endpoint_config_key_name: 'Nyckel',
com_endpoint_config_value: 'Ange värde för',
com_endpoint_config_key_name_placeholder: 'Ange API-nyckel först',
com_endpoint_config_key_encryption: 'Din nyckel kommer att krypteras och raderas vid',
com_endpoint_config_key_expiry: 'utgångstiden',
com_endpoint_config_key_import_json_key: 'Importera JSON-nyckel för kontot.',
com_endpoint_config_key_import_json_key_success: 'Lyckades importera JSON-nyckel för kontot',
com_endpoint_config_key_import_json_key_invalid:
'Ogiltig JSON-nyckel för konto, importerade du rätt fil?',
com_endpoint_config_key_get_edge_key: 'För att få din åtkomstnyckel för Bing, logga in på',
com_endpoint_config_key_get_edge_key_dev_tool:
'Använd utvecklingsverktyg eller ett tillägg när du är inloggad på webbplatsen för att kopiera innehållet i _U-cookien. Om detta misslyckas, följ dessa',
com_endpoint_config_key_edge_instructions: 'instruktioner',
com_endpoint_config_key_edge_full_key_string: 'för att tillhandahålla hela cookie-strängarna.',
com_endpoint_config_key_chatgpt:
'För att få din åtkomstnyckel för ChatGPT "Gratisversion", logga in på',
com_endpoint_config_key_chatgpt_then_visit: 'sedan besök',
com_endpoint_config_key_chatgpt_copy_token: 'Kopiera åtkomstnyckel.',
com_endpoint_config_key_google_need_to: 'Du behöver',
com_endpoint_config_key_google_vertex_ai: 'Aktivera Vertex AI',
com_endpoint_config_key_google_vertex_api: 'API på Google Cloud, sedan',
com_endpoint_config_key_google_service_account: 'Skapa ett tjänstekonto',
com_endpoint_config_key_google_vertex_api_role:
'Se till att klicka på "Skapa och fortsätt" för att ge åtminstone rollen "Vertex AI-användare". Skapa slutligen en JSON-nyckel att importera här.',
com_nav_plugin_store: 'Pluginbutik',
com_nav_plugin_search: 'Sök efter plugins',
com_nav_plugin_auth_error:
'Det uppstod ett fel när försöket att autentisera denna plugin gjordes. Försök igen.',
com_nav_export_filename: 'Filnamn',
com_nav_export_filename_placeholder: 'Ange filnamnet',
com_nav_export_type: 'Typ',
com_nav_export_include_endpoint_options: 'Inkludera slutpunktsalternativ',
com_nav_enabled: 'Aktiverad',
com_nav_not_supported: 'Stöds ej',
com_nav_export_all_message_branches: 'Exportera alla grenar för meddelanden',
com_nav_export_recursive_or_sequential: 'Rekursiv eller sekventiell?',
com_nav_export_recursive: 'Rekursiv',
com_nav_export_conversation: 'Exportera konversation',
🚀 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: 'Exportera',
com_nav_shared_links: 'Delade länkar',
com_nav_shared_links_manage: 'Hantera',
com_nav_shared_links_empty: 'Du har inga delade länkar.',
com_nav_shared_links_name: 'Namn',
com_nav_shared_links_date_shared: 'Datum delad',
com_nav_theme: 'Tema',
com_nav_theme_system: 'System',
com_nav_theme_dark: 'Mörkt',
com_nav_theme_light: 'Ljust',
com_nav_clear_all_chats: 'Rensa alla chattar',
com_nav_confirm_clear: 'Bekräfta rensning',
com_nav_close_sidebar: 'Stäng sidofält',
com_nav_open_sidebar: 'Öppna sidofält',
com_nav_send_message: 'Skicka meddelande',
com_nav_log_out: 'Logga ut',
com_nav_user: 'ANVÄNDARE',
🚀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: 'Arkiverade chattar',
com_nav_archived_chats_manage: 'Hantera',
com_nav_archived_chats_empty: 'Du har inga arkiverade chattar.',
com_nav_archive_all_chats: 'Arkivera alla chattar',
com_nav_archive_all: 'Arkivera alla',
com_nav_archive_name: 'Namn',
com_nav_archive_created_at: 'Skapad',
com_nav_clear_conversation: 'Rensa konversationer',
com_nav_clear_conversation_confirm_message:
'Är du säker på att du vill rensa alla konversationer? Detta går inte att ångra.',
com_nav_help_faq: 'Hjälp & Vanliga frågor',
com_nav_settings: 'Inställningar',
com_nav_search_placeholder: 'Sök meddelanden',
com_nav_setting_general: 'Allmänt',
com_nav_setting_data: 'Datakontroller',
};
export const comparisons = {
com_ui_examples: {
english: 'Examples',
translated: 'Exempel',
},
com_ui_new_chat: {
english: 'New chat',
translated: 'Ny chatt',
},
com_ui_happy_birthday: {
english: 'It\'s my 1st birthday!',
translated: 'Det är min första födelsedag!',
},
com_ui_example_quantum_computing: {
english: 'Explain quantum computing in simple terms',
translated: 'Förklara kvantberäkning på enkla termer',
},
com_ui_example_10_year_old_b_day: {
english: 'Got any creative ideas for a 10 year old\'s birthday?',
translated: 'Har du några kreativa idéer till ett 10-årings födelsedag?',
},
com_ui_example_http_in_js: {
english: 'How do I make an HTTP request in Javascript?',
translated: 'Hur gör jag en HTTP-förfrågan i Javascript?',
},
com_ui_capabilities: {
english: 'Capabilities',
translated: 'Möjligheter',
},
com_ui_capability_remember: {
english: 'Remembers what user said earlier in the conversation',
translated: 'Kommer ihåg vad användaren sa tidigare i konversationen',
},
com_ui_capability_correction: {
english: 'Allows user to provide follow-up corrections',
translated: 'Tillåter användaren att ge uppföljande rättelser',
},
com_ui_capability_decline_requests: {
english: 'Trained to decline inappropriate requests',
translated: 'Tränad för att avvisa olämpliga förfrågningar',
},
com_ui_limitations: {
english: 'Limitations',
translated: 'Begränsningar',
},
com_ui_limitation_incorrect_info: {
english: 'May occasionally generate incorrect information',
translated: 'Kan ibland generera felaktig information',
},
com_ui_limitation_harmful_biased: {
english: 'May occasionally produce harmful instructions or biased content',
translated: 'Kan ibland producera skadliga instruktioner eller snedvridet innehåll',
},
com_ui_limitation_limited_2021: {
english: 'Limited knowledge of world and events after 2021',
translated: 'Begränsad kunskap om världen och händelser efter 2021',
},
com_ui_input: {
english: 'Input',
translated: 'Inmatning',
},
com_ui_close: {
english: 'Close',
translated: 'Stäng',
},
com_ui_model: {
english: 'Model',
translated: 'Modell',
},
com_ui_select_model: {
english: 'Select a model',
translated: 'Välj en modell',
},
com_ui_use_prompt: {
english: 'Use prompt',
translated: 'Använd prompt',
},
com_ui_prev: {
english: 'Prev',
translated: 'Föregående',
},
com_ui_next: {
english: 'Next',
translated: 'Nästa',
},
com_ui_prompt_templates: {
english: 'Prompt Templates',
translated: 'Prompt Mallar',
},
com_ui_hide_prompt_templates: {
english: 'Hide Prompt Templates',
translated: 'Dölj Prompt Mallar',
},
com_ui_showing: {
english: 'Showing',
translated: 'Visar',
},
com_ui_of: {
english: 'of',
translated: 'av',
},
com_ui_entries: {
english: 'Entries',
translated: 'Inlägg',
},
com_ui_pay_per_call: {
english: 'All AI conversations in one place. Pay per call and not per month',
translated: 'Alla AI-konversationer på ett ställe. Betala per anrop och inte per månad',
},
com_ui_enter: {
english: 'Enter',
translated: 'Ange',
},
com_ui_submit: {
english: 'Submit',
translated: 'Skicka',
},
com_ui_upload_success: {
english: 'Successfully uploaded file',
translated: 'Uppladdningen av filen lyckades',
},
com_ui_upload_invalid: {
english: 'Invalid file for upload. Must be an image not exceeding 2 MB',
translated: 'Ogiltig fil för uppladdning',
},
com_ui_cancel: {
english: 'Cancel',
translated: 'Avbryt',
},
com_ui_save: {
english: 'Save',
translated: 'Spara',
},
com_ui_copy_to_clipboard: {
english: 'Copy to clipboard',
translated: 'Kopiera till urklipp',
},
com_ui_copied_to_clipboard: {
english: 'Copied to clipboard',
translated: 'Kopierat till urklipp',
},
com_ui_regenerate: {
english: 'Regenerate',
translated: 'Återskapa',
},
com_ui_continue: {
english: 'Continue',
translated: 'Fortsätt',
},
com_ui_edit: {
english: 'Edit',
translated: 'Redigera',
},
com_ui_success: {
english: 'Success',
translated: 'Lyckades',
},
com_ui_all: {
english: 'all',
translated: 'alla',
},
com_ui_clear: {
english: 'Clear',
translated: 'Rensa',
},
com_ui_revoke: {
english: 'Revoke',
translated: 'Återkalla',
},
com_ui_revoke_info: {
english: 'Revoke all user provided credentials',
translated: 'Återkalla alla användaruppgifter.',
},
com_ui_import_conversation: {
english: 'Import',
translated: 'Importera',
},
com_ui_import_conversation_info: {
english: 'Import conversations from a JSON file',
translated: 'Importera konversationer från en JSON-fil',
},
com_ui_import_conversation_success: {
english: 'Conversations imported successfully',
translated: 'Konversationer har importerats framgångsrikt',
},
com_ui_import_conversation_error: {
english: 'There was an error importing your conversations',
translated: 'Det uppstod ett fel vid import av dina konversationer',
},
com_ui_confirm_action: {
english: 'Confirm Action',
translated: 'Bekräfta åtgärd',
},
com_ui_chats: {
english: 'chats',
translated: 'chattar',
},
🚀 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: 'Dela',
},
com_ui_copy_link: {
english: 'Copy link',
translated: 'Kopiera länk',
},
com_ui_update_link: {
english: 'Update link',
translated: 'Uppdatera länk',
},
com_ui_create_link: {
english: 'Create link',
translated: 'Skapa länk',
🚀 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_link_to_chat: {
english: 'Share link to chat',
translated: 'Dela länk till chatt',
🚀 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_error: {
english: 'There was an error sharing the chat link',
translated: 'Ett fel uppstod vid delning av chattlänken',
🚀 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_create_message: {
english: 'Your name and any messages you add after sharing stay private.',
translated: 'Ditt namn och alla meddelanden du lägger till efter delningen förblir privata.',
🚀 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_created_message: {
english:
'A shared link to your chat has been created. Manage previously shared chats at any time via Settings.',
🚀 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
translated:
'En delad länk till din chatt har skapats. Hantera tidigare delade chattar när som helst via Inställningar.',
🚀 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_update_message: {
english: 'Your name, custom instructions, and any messages you add after sharing stay private.',
translated:
'Ditt namn, anpassade instruktioner och alla meddelanden du lägger till efter delningen förblir privata.',
🚀 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_updated_message: {
english:
'A shared link to your chat has been updated. Manage previously shared chats at any time via Settings.',
🚀 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
translated:
'En delad länk till din chatt har uppdaterats. Hantera tidigare delade chattar när som helst via Inställningar.',
🚀 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_shared_link_not_found: {
english: 'Shared link not found',
translated: 'Delad länk hittades inte',
🚀 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_delete: {
english: 'Delete',
translated: 'Radera',
},
com_ui_delete_conversation: {
english: 'Delete chat?',
translated: 'Radera chatt?',
},
com_ui_delete_conversation_confirm: {
english: 'This will delete',
translated: 'Detta kommer att radera',
},
com_ui_rename: {
english: 'Rename',
translated: 'byta namn på',
},
com_ui_archive: {
english: 'Archive',
translated: 'Arkiv',
},
com_ui_archive_error: {
english: 'Failed to archive conversation',
translated: 'Kunde inte arkivera chatt',
},
com_ui_unarchive: {
english: 'Unarchive',
translated: 'Avarkivera',
},
com_ui_unarchive_error: {
english: 'Failed to unarchive conversation',
translated: 'Kunde inte avarkivera chatt',
},
com_ui_more_options: {
english: 'More',
translated: 'Mer',
},
com_auth_error_login: {
english:
'Unable to login with the information provided. Please check your credentials and try again.',
translated:
'Kunde inte logga in med den angivna informationen. Kontrollera dina uppgifter och försök igen.',
},
com_auth_error_login_rl: {
english: 'Too many login attempts in a short amount of time. Please try again later.',
translated:
'För många inloggningsförsök från den här IP-adressen på kort tid. Vänligen försök igen senare.',
},
com_auth_no_account: {
english: 'Don\'t have an account?',
translated: 'Har du inget konto?',
},
com_auth_sign_up: {
english: 'Sign up',
translated: 'Registrera dig',
},
com_auth_sign_in: {
english: 'Sign in',
translated: 'Logga in',
},
com_auth_google_login: {
english: 'Continue with Google',
translated: 'Logga in med Google',
},
com_auth_facebook_login: {
english: 'Continue with Facebook',
translated: 'Logga in med Facebook',
},
com_auth_github_login: {
english: 'Continue with Github',
translated: 'Logga in med Github',
},
com_auth_discord_login: {
english: 'Continue with Discord',
translated: 'Logga in med Discord',
},
com_auth_email: {
english: 'Email',
translated: 'E-post',
},
com_auth_email_required: {
english: 'Email is required',
translated: 'E-post krävs',
},
com_auth_email_min_length: {
english: 'Email must be at least 6 characters',
translated: 'E-post måste vara minst 6 tecken',
},
com_auth_email_max_length: {
english: 'Email should not be longer than 120 characters',
translated: 'E-post får inte vara längre än 120 tecken',
},
com_auth_email_pattern: {
english: 'You must enter a valid email address',
translated: 'Du måste ange en giltig e-postadress',
},
com_auth_email_address: {
english: 'Email address',
translated: 'E-postadress',
},
com_auth_password: {
english: 'Password',
translated: 'Lösenord',
},
com_auth_password_required: {
english: 'Password is required',
translated: 'Lösenord krävs',
},
com_auth_password_min_length: {
english: 'Password must be at least 8 characters',
translated: 'Lösenordet måste vara minst 8 tecken',
},
com_auth_password_max_length: {
english: 'Password must be less than 128 characters',
translated: 'Lösenordet får inte vara längre än 128 tecken',
},
com_auth_password_forgot: {
english: 'Forgot Password?',
translated: 'Glömt lösenord?',
},
com_auth_password_confirm: {
english: 'Confirm password',
translated: 'Bekräfta lösenord',
},
com_auth_password_not_match: {
english: 'Passwords do not match',
translated: 'Lösenorden matchar inte',
},
com_auth_continue: {
english: 'Continue',
translated: 'Fortsätt',
},
com_auth_create_account: {
english: 'Create your account',
translated: 'Skapa ditt konto',
},
com_auth_error_create: {
english: 'There was an error attempting to register your account. Please try again.',
translated: 'Det uppstod ett fel när du försökte registrera ditt konto. Vänligen försök igen.',
},
com_auth_full_name: {
english: 'Full name',
translated: 'Fullständigt namn',
},
com_auth_name_required: {
english: 'Name is required',
translated: 'Namn krävs',
},
com_auth_name_min_length: {
english: 'Name must be at least 3 characters',
translated: 'Namnet måste vara minst 3 tecken',
},
com_auth_name_max_length: {
english: 'Name must be less than 80 characters',
translated: 'Namnet får inte vara längre än 80 tecken',
},
com_auth_username: {
english: 'Username (optional)',
translated: 'Användarnamn (valfritt)',
},
com_auth_username_required: {
english: 'Username is required',
translated: 'Användarnamn krävs',
},
com_auth_username_min_length: {
english: 'Username must be at least 2 characters',
translated: 'Användarnamnet måste vara minst 2 tecken',
},
com_auth_username_max_length: {
english: 'Username must be less than 20 characters',
translated: 'Användarnamnet får inte vara längre än 20 tecken',
},
com_auth_already_have_account: {
english: 'Already have an account?',
translated: 'Har du redan ett konto?',
},
com_auth_login: {
english: 'Login',
translated: 'Logga in',
},
com_auth_reset_password: {
english: 'Reset your password',
translated: 'Återställ ditt lösenord',
},
com_auth_click: {
english: 'Click',
translated: 'Klicka',
},
com_auth_here: {
english: 'HERE',
translated: 'HÄR',
},
com_auth_to_reset_your_password: {
english: 'to reset your password.',
translated: 'för att återställa ditt lösenord.',
},
com_auth_reset_password_link_sent: {
english: 'Email Sent',
translated: 'E-post skickad',
},
com_auth_reset_password_email_sent: {
english: 'An email has been sent to you with further instructions to reset your password.',
translated:
'Ett e-postmeddelande har skickats till dig med ytterligare instruktioner för att återställa ditt lösenord.',
},
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:
'Det uppstod ett problem med att återställa ditt lösenord. Ingen användare hittades med den angivna e-postadressen. Vänligen försök igen.',
},
com_auth_reset_password_success: {
english: 'Password Reset Success',
translated: 'Lösenordsåterställning lyckades',
},
com_auth_login_with_new_password: {
english: 'You may now login with your new password.',
translated: 'Du kan nu logga in med ditt nya lösenord.',
},
com_auth_error_invalid_reset_token: {
english: 'This password reset token is no longer valid.',
translated: 'Detta lösenordsåterställningsnyckel är inte längre giltigt.',
},
com_auth_click_here: {
english: 'Click here',
translated: 'Klicka här',
},
com_auth_to_try_again: {
english: 'to try again.',
translated: 'för att försöka igen.',
},
com_auth_submit_registration: {
english: 'Submit registration',
translated: 'Skicka registrering',
},
com_auth_welcome_back: {
english: 'Welcome back',
translated: 'Välkommen tillbaka',
},
com_endpoint_open_menu: {
english: 'Open Menu',
translated: 'Öppna meny',
},
com_endpoint_bing_enable_sydney: {
english: 'Enable Sydney',
translated: 'Aktivera Sydney',
},
com_endpoint_bing_to_enable_sydney: {
english: 'To enable Sydney',
translated: 'För att aktivera 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 kan använda upp till 7k tokens för "kontext", som den kan referera till under konversationen. Den specifika gränsen är inte känd men kan stöta på fel om den överstiger 7k tokens',
},
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:
'VARNING: Otillåten användning av denna funktion kan få dig BANNAD från att använda Bing! Klicka på "Systemmeddelande" för fullständiga instruktioner och standardmeddelandet om det utelämnas, vilket är "Sydney"-förinställningen som anses vara säker.',
},
com_endpoint_system_message: {
english: 'System Message',
translated: 'Systemmeddelande',
},
com_endpoint_default_blank: {
english: 'default: blank',
translated: 'standard: tom',
},
com_endpoint_default_false: {
english: 'default: false',
translated: 'standard: falsk',
},
com_endpoint_default_creative: {
english: 'default: creative',
translated: 'standard: kreativ',
},
com_endpoint_default_empty: {
english: 'default: empty',
translated: 'standard: tom',
},
com_endpoint_default_with_num: {
english: 'default: {0}',
translated: 'standard: {0}',
},
com_endpoint_context: {
english: 'Context',
translated: 'Kontext',
},
com_endpoint_tone_style: {
english: 'Tone Style',
translated: 'Tonstil',
},
com_endpoint_token_count: {
english: 'Token count',
translated: 'Antal tokens',
},
com_endpoint_output: {
english: 'Output',
translated: 'Utdata',
},
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:
'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.',
},
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 ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.',
},
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 ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).',
},
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:
'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.',
},
com_endpoint_google_custom_name_placeholder: {
english: 'Set a custom name for Google',
translated: 'Ange ett anpassat namn för Google',
},
com_endpoint_prompt_prefix_placeholder: {
english: 'Set custom instructions or context. Ignored if empty.',
translated: 'Ange anpassade instruktioner eller kontext. Ignoreras om tom.',
},
com_endpoint_custom_name: {
english: 'Custom Name',
translated: 'Anpassat namn',
},
com_endpoint_prompt_prefix: {
english: 'Custom Instructions',
translated: 'Uppmaningsprefix',
},
com_endpoint_temperature: {
english: 'Temperature',
translated: 'Temperatur',
},
com_endpoint_default: {
english: 'default',
translated: 'standard',
},
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: 'Max utdatatokens',
},
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:
'Högre värden = mer slumpmässigt, medan lägre värden = mer fokuserat och bestämt. Vi rekommenderar att ändra detta eller Top P men inte båda.',
},
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:
'Max tokens att generera. Den totala längden på tokens för inmatning och svar är begränsad av modellen som används.',
},
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:
'Ett alternativ till temperatur, kallat kärnprovtagning, där modellen beaktar resultaten av tokens med top_p-sannolikhetsmassa. Så 0,1 innebär att endast de tokens som utgör den översta 10% sannolikhetsmassan beaktas. Vi rekommenderar att ändra detta eller temperaturen men inte båda.',
},
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:
'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på deras befintliga frekvens i texten hittills, vilket minskar modellens sannolikhet att upprepa samma rad ordagrant.',
},
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:
'Nummer mellan -2,0 och 2,0. Positiva värden minskar nya tokens baserat på om de förekommer i texten hittills, vilket ökar modellens sannolikhet att prata om nya ämnen.',
},
com_endpoint_openai_custom_name_placeholder: {
english: 'Set a custom name for the AI',
translated: 'Ange ett eget namn för ChatGPT',
},
com_endpoint_openai_prompt_prefix_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated: 'Ange anpassade instruktioner att inkludera i Systemmeddelande. Standard: inga',
},
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:
'Varierar mellan 0 och 1. Använd temp närmare 0 för analytiska/flervalsfrågor och närmare 1 för kreativa och generativa uppgifter. Vi rekommenderar att ändra detta eller Top P men inte båda.',
},
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 ändrar hur modellen väljer tokens för utdata. Tokens väljs från de mest K (se topK-parameter) sannolika till de minst tills summan av deras sannolikheter når top-p-värdet.',
},
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 ändrar hur modellen väljer tokens för utdata. Ett top-k av 1 innebär att den valda token är den mest sannolika bland alla tokens i modellens vokabulär (kallas också girig avkodning), medan ett top-k av 3 innebär att nästa token väljs bland de 3 mest sannolika tokens (med temperatur).',
},
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:
'Maximalt antal tokens som kan genereras i svaret. Ange ett lägre värde för kortare svar och ett högre värde för längre svar.',
},
com_endpoint_anthropic_custom_name_placeholder: {
english: 'Set a custom name for Anthropic',
translated: 'Ange ett anpassat namn för Anthropic',
},
com_endpoint_frequency_penalty: {
english: 'Frequency Penalty',
translated: 'Frekvensstraff',
},
com_endpoint_presence_penalty: {
english: 'Presence Penalty',
translated: 'Närvarostraff',
},
com_endpoint_plug_use_functions: {
english: 'Use Functions',
translated: 'Använd funktioner',
},
com_endpoint_plug_skip_completion: {
english: 'Skip Completion',
translated: 'Hoppa över komplettering',
},
com_endpoint_disabled_with_tools: {
english: 'disabled with tools',
translated: 'inaktiverad med verktyg',
},
com_endpoint_disabled_with_tools_placeholder: {
english: 'Disabled with Tools Selected',
translated: 'Inaktiverad med valda verktyg',
},
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: {
english: 'Set custom instructions to include in System Message. Default: none',
translated: 'Ange anpassade instruktioner att inkludera i systemmeddelande. Standard: inga',
},
com_endpoint_import: {
english: 'Import',
translated: 'Importera',
},
com_endpoint_set_custom_name: {
english: 'Set a custom name, in case you can find this preset',
translated: 'Ange ett eget namn, om du kan hitta denna förinställning',
},
com_endpoint_preset: {
english: 'preset',
translated: 'förinställning',
},
com_endpoint_presets: {
english: 'presets',
translated: 'förinställningar',
},
com_endpoint_preset_name: {
english: 'Preset Name',
translated: 'Förinställningsnamn',
},
com_endpoint_new_topic: {
english: 'New Topic',
translated: 'Nytt ämne',
},
com_endpoint: {
english: 'Endpoint',
translated: 'Slutpunkt',
},
com_endpoint_hide: {
english: 'Hide',
translated: 'Dölj',
},
com_endpoint_show: {
english: 'Show',
translated: 'Visa',
},
com_endpoint_examples: {
english: ' Presets',
translated: ' Förinställningar',
},
com_endpoint_completion: {
english: 'Completion',
translated: 'Komplettering',
},
com_endpoint_agent: {
english: 'Agent',
translated: 'Agent',
},
com_endpoint_show_what_settings: {
english: 'Show {0} Settings',
translated: 'Visa {0} inställningar',
},
com_endpoint_export: {
english: 'Export',
translated: 'Exportera',
},
com_endpoint_save_as_preset: {
english: 'Save As Preset',
translated: 'Spara som förinställning',
},
com_endpoint_presets_clear_warning: {
english: 'Are you sure you want to clear all presets? This is irreversible.',
translated: 'Är du säker på att du vill rensa alla förinställningar? Detta går inte att ångra.',
},
com_endpoint_not_implemented: {
english: 'Not implemented',
translated: 'Ej implementerad',
},
com_endpoint_no_presets: {
english: 'No presets yet, use the settings button to create one',
translated: 'Ingen förinställning ännu',
},
com_endpoint_not_available: {
english: 'No endpoint available',
translated: 'Ingen slutpunkt tillgänglig',
},
com_endpoint_view_options: {
english: 'View Options',
translated: 'Visa alternativ',
},
com_endpoint_save_convo_as_preset: {
english: 'Save Conversation as Preset',
translated: 'Spara konversation som förinställning',
},
com_endpoint_my_preset: {
english: 'My Preset',
translated: 'Min förinställning',
},
com_endpoint_agent_model: {
english: 'Agent Model (Recommended: GPT-3.5)',
translated: 'Agentmodell (Rekommenderad: GPT-3.5)',
},
com_endpoint_completion_model: {
english: 'Completion Model (Recommended: GPT-4)',
translated: 'Kompletteringsmodell (Rekommenderad: GPT-4)',
},
com_endpoint_func_hover: {
english: 'Enable use of Plugins as OpenAI Functions',
translated: 'Aktivera användning av tillägg som OpenAI-funktioner',
},
com_endpoint_skip_hover: {
english:
'Enable skipping the completion step, which reviews the final answer and generated steps',
translated:
'Aktivera att hoppa över kompletteringssteg, som granskar det slutliga svaret och genererade steg',
},
com_endpoint_config_key: {
english: 'Set API Key',
translated: 'Ange API-nyckel',
},
com_endpoint_config_key_for: {
english: 'Set API Key for',
translated: 'Ange API-nyckel för',
},
com_endpoint_config_key_name: {
english: 'Key',
translated: 'Nyckel',
},
com_endpoint_config_value: {
english: 'Enter value for',
translated: 'Ange värde för',
},
com_endpoint_config_key_name_placeholder: {
english: 'Set API key first',
translated: 'Ange API-nyckel först',
},
com_endpoint_config_key_encryption: {
english: 'Your key will be encrypted and deleted at',
translated: 'Din nyckel kommer att krypteras och raderas vid',
},
com_endpoint_config_key_expiry: {
english: 'the expiry time',
translated: 'utgångstiden',
},
com_endpoint_config_key_import_json_key: {
english: 'Import Service Account JSON Key.',
translated: 'Importera JSON-nyckel för kontot.',
},
com_endpoint_config_key_import_json_key_success: {
english: 'Successfully Imported Service Account JSON Key',
translated: 'Lyckades importera JSON-nyckel för kontot',
},
com_endpoint_config_key_import_json_key_invalid: {
english: 'Invalid Service Account JSON Key, Did you import the correct file?',
translated: 'Ogiltig JSON-nyckel för konto, importerade du rätt fil?',
},
com_endpoint_config_key_get_edge_key: {
english: 'To get your Access token for Bing, login to',
translated: 'För att få din åtkomstnyckel för Bing, logga in på',
},
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:
'Använd utvecklingsverktyg eller ett tillägg när du är inloggad på webbplatsen för att kopiera innehållet i _U-cookien. Om detta misslyckas, följ dessa',
},
com_endpoint_config_key_edge_instructions: {
english: 'instructions',
translated: 'instruktioner',
},
com_endpoint_config_key_edge_full_key_string: {
english: 'to provide the full cookie strings.',
translated: 'för att tillhandahålla hela cookie-strängarna.',
},
com_endpoint_config_key_chatgpt: {
english: 'To get your Access token For ChatGPT \'Free Version\', login to',
translated: 'För att få din åtkomstnyckel för ChatGPT "Gratisversion", logga in på',
},
com_endpoint_config_key_chatgpt_then_visit: {
english: 'then visit',
translated: 'sedan besök',
},
com_endpoint_config_key_chatgpt_copy_token: {
english: 'Copy access token.',
translated: 'Kopiera åtkomstnyckel.',
},
com_endpoint_config_key_google_need_to: {
english: 'You need to',
translated: 'Du behöver',
},
com_endpoint_config_key_google_vertex_ai: {
english: 'Enable Vertex AI',
translated: 'Aktivera Vertex AI',
},
com_endpoint_config_key_google_vertex_api: {
english: 'API on Google Cloud, then',
translated: 'API på Google Cloud, sedan',
},
com_endpoint_config_key_google_service_account: {
english: 'Create a Service Account',
translated: 'Skapa ett tjänstekonto',
},
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:
'Se till att klicka på "Skapa och fortsätt" för att ge åtminstone rollen "Vertex AI-användare". Skapa slutligen en JSON-nyckel att importera här.',
},
com_nav_plugin_store: {
english: 'Plugin store',
translated: 'Pluginbutik',
},
com_nav_plugin_search: {
english: 'Search plugins',
translated: 'Sök efter plugins',
},
com_nav_plugin_auth_error: {
english: 'There was an error attempting to authenticate this plugin. Please try again.',
translated:
'Det uppstod ett fel när försöket att autentisera denna plugin gjordes. Försök igen.',
},
com_nav_export_filename: {
english: 'Filename',
translated: 'Filnamn',
},
com_nav_export_filename_placeholder: {
english: 'Set the filename',
translated: 'Ange filnamnet',
},
com_nav_export_type: {
english: 'Type',
translated: 'Typ',
},
com_nav_export_include_endpoint_options: {
english: 'Include endpoint options',
translated: 'Inkludera slutpunktsalternativ',
},
com_nav_enabled: {
english: 'Enabled',
translated: 'Aktiverad',
},
com_nav_not_supported: {
english: 'Not Supported',
translated: 'Stöds ej',
},
com_nav_export_all_message_branches: {
english: 'Export all message branches',
translated: 'Exportera alla grenar för meddelanden',
},
com_nav_export_recursive_or_sequential: {
english: 'Recursive or sequential?',
translated: 'Rekursiv eller sekventiell?',
},
com_nav_export_recursive: {
english: 'Recursive',
translated: 'Rekursiv',
},
com_nav_export_conversation: {
english: 'Export conversation',
translated: 'Exportera konversation',
},
🚀 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: 'Exportera',
},
com_nav_shared_links: {
english: 'Shared links',
translated: 'Delade länkar',
},
com_nav_shared_links_manage: {
english: 'Manage',
translated: 'Hantera',
},
com_nav_shared_links_empty: {
english: 'You have no shared links.',
translated: 'Du har inga delade länkar.',
},
com_nav_shared_links_name: {
english: 'Name',
translated: 'Namn',
},
com_nav_shared_links_date_shared: {
english: 'Date shared',
translated: 'Datum delad',
},
com_nav_theme: {
english: 'Theme',
translated: 'Tema',
},
com_nav_theme_system: {
english: 'System',
translated: 'System',
},
com_nav_theme_dark: {
english: 'Dark',
translated: 'Mörkt',
},
com_nav_theme_light: {
english: 'Light',
translated: 'Ljust',
},
com_nav_clear_all_chats: {
english: 'Clear all chats',
translated: 'Rensa alla chattar',
},
com_nav_confirm_clear: {
english: 'Confirm Clear',
translated: 'Bekräfta rensning',
},
com_nav_close_sidebar: {
english: 'Close sidebar',
translated: 'Stäng sidofält',
},
com_nav_open_sidebar: {
english: 'Open sidebar',
translated: 'Öppna sidofält',
},
com_nav_send_message: {
english: 'Send message',
translated: 'Skicka meddelande',
},
com_nav_log_out: {
english: 'Log out',
translated: 'Logga ut',
},
com_nav_user: {
english: 'USER',
translated: 'ANVÄNDARE',
},
com_nav_archived_chats: {
english: 'Archived chats',
translated: 'Arkiverade chattar',
},
com_nav_archived_chats_manage: {
english: 'Manage',
translated: 'Hantera',
},
com_nav_archived_chats_empty: {
english: 'You have no archived conversations.',
translated: 'Du har inga arkiverade chattar.',
},
com_nav_archive_all_chats: {
english: 'Archive all chats',
translated: 'Arkivera alla chattar',
},
com_nav_archive_all: {
english: 'Archive all',
translated: 'Arkivera alla',
},
com_nav_archive_name: {
english: 'Name',
translated: 'Namn',
},
com_nav_archive_created_at: {
english: 'DateCreated',
translated: 'Skapad',
},
com_nav_clear_conversation: {
english: 'Clear conversations',
translated: 'Rensa konversationer',
},
com_nav_clear_conversation_confirm_message: {
english: 'Are you sure you want to clear all conversations? This is irreversible.',
translated: 'Är du säker på att du vill rensa alla konversationer? Detta går inte att ångra.',
},
com_nav_help_faq: {
english: 'Help & FAQ',
translated: 'Hjälp & Vanliga frågor',
},
com_nav_settings: {
english: 'Settings',
translated: 'Inställningar',
},
com_nav_search_placeholder: {
english: 'Search messages',
translated: 'Sök meddelanden',
},
com_nav_setting_general: {
english: 'General',
translated: 'Allmänt',
},
com_nav_setting_data: {
english: 'Data controls',
translated: 'Datakontroller',
},
};