diff --git a/.env.example b/.env.example index fd53620466..07c81066f9 100644 --- a/.env.example +++ b/.env.example @@ -26,6 +26,8 @@ DOMAIN_SERVER=http://localhost:3080 NO_INDEX=true +SHOW_BIRTHDAY_ICON=true + #===============# # Debug Logging # #===============# diff --git a/api/server/routes/config.js b/api/server/routes/config.js index 02d3fc2c36..be92910306 100644 --- a/api/server/routes/config.js +++ b/api/server/routes/config.js @@ -7,6 +7,11 @@ const emailLoginEnabled = process.env.ALLOW_EMAIL_LOGIN === undefined || isEnabled(process.env.ALLOW_EMAIL_LOGIN); router.get('/', async function (req, res) { + const isBirthday = () => { + const today = new Date(); + return today.getMonth() === 1 && today.getDate() === 11; + }; + try { const payload = { appTitle: process.env.APP_TITLE || 'LibreChat', @@ -33,6 +38,10 @@ router.get('/', async function (req, res) { !!process.env.EMAIL_PASSWORD && !!process.env.EMAIL_FROM, checkBalance: isEnabled(process.env.CHECK_BALANCE), + showBirthdayIcon: + isBirthday() || + isEnabled(process.env.SHOW_BIRTHDAY_ICON) || + process.env.SHOW_BIRTHDAY_ICON === '', }; if (typeof process.env.CUSTOM_FOOTER === 'string') { diff --git a/client/src/components/Chat/Landing.tsx b/client/src/components/Chat/Landing.tsx index d495ce3058..0fad79b95b 100644 --- a/client/src/components/Chat/Landing.tsx +++ b/client/src/components/Chat/Landing.tsx @@ -1,14 +1,17 @@ import type { ReactNode } from 'react'; -import { useGetEndpointsQuery } from 'librechat-data-provider/react-query'; +import { useGetEndpointsQuery, useGetStartupConfig } from 'librechat-data-provider/react-query'; import { EModelEndpoint } from 'librechat-data-provider'; import { icons } from './Menus/Endpoints/Icons'; import { useChatContext } from '~/Providers'; import { getEndpointField } from '~/utils'; import { useLocalize } from '~/hooks'; +import { BirthdayIcon } from '~/components/svg'; +import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '~/components/ui/'; export default function Landing({ Header }: { Header?: ReactNode }) { const { conversation } = useChatContext(); const { data: endpointsConfig } = useGetEndpointsQuery(); + const { data: startupConfig } = useGetStartupConfig(); const localize = useLocalize(); let { endpoint } = conversation ?? {}; @@ -27,26 +30,38 @@ export default function Landing({ Header }: { Header?: ReactNode }) { const Icon = icons[iconKey]; return ( -
-
{Header && Header}
-
-
-
- {endpoint && - Icon && - Icon({ - size: 41, - context: 'landing', - className: 'h-2/3 w-2/3', - endpoint: endpoint, - iconURL: iconURL, - })} + + +
+
{Header && Header}
+
+
+
+ {endpoint && + Icon && + Icon({ + size: 41, + context: 'landing', + className: 'h-2/3 w-2/3', + endpoint: endpoint, + iconURL: iconURL, + })} + + {(startupConfig?.showBirthdayIcon ?? false) && ( + + )} + + + {localize('com_ui_happy_birthday')} + +
+
+
+ {localize('com_nav_welcome_message')} +
-
- {localize('com_nav_welcome_message')} -
-
-
+ + ); } diff --git a/client/src/components/svg/BirthdayIcon.tsx b/client/src/components/svg/BirthdayIcon.tsx new file mode 100644 index 0000000000..617d186f9d --- /dev/null +++ b/client/src/components/svg/BirthdayIcon.tsx @@ -0,0 +1,64 @@ +import React from 'react'; +import { cn } from '~/utils/'; + +export default function BirthdayIcon({ className = '' }) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/client/src/components/svg/index.ts b/client/src/components/svg/index.ts index 97ea21e611..4c59894c56 100644 --- a/client/src/components/svg/index.ts +++ b/client/src/components/svg/index.ts @@ -45,3 +45,4 @@ export { default as UserIcon } from './UserIcon'; export { default as NewChatIcon } from './NewChatIcon'; export { default as ExperimentIcon } from './ExperimentIcon'; export { default as GoogleIconChat } from './GoogleIconChat'; +export { default as BirthdayIcon } from './BirthdayIcon'; diff --git a/client/src/localization/languages/Ar.tsx b/client/src/localization/languages/Ar.tsx index 424f9f2b0c..2993d78176 100644 --- a/client/src/localization/languages/Ar.tsx +++ b/client/src/localization/languages/Ar.tsx @@ -3,6 +3,7 @@ export default { com_ui_balance: 'الرصيد', com_ui_examples: 'أمثلة', + com_ui_happy_birthday: 'إنه عيد ميلادي الأول!', com_ui_new_chat: 'دردشة جديدة', com_ui_example_quantum_computing: 'شرح الحوسبة الكمومية ببساطة', com_ui_example_10_year_old_b_day: 'هل لديك أفكار إبداعية لعيد ميلاد طفل عمره 10 سنوات؟', diff --git a/client/src/localization/languages/Br.tsx b/client/src/localization/languages/Br.tsx index 1a43d4be20..b4cf99bcc1 100644 --- a/client/src/localization/languages/Br.tsx +++ b/client/src/localization/languages/Br.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: 'Exemplos', com_ui_new_chat: 'Novo Chat', + com_ui_happy_birthday: 'É meu primeiro aniversário!', com_ui_example_quantum_computing: 'Explique a computação quântica em termos simples', com_ui_example_10_year_old_b_day: 'Tem alguma ideia criativa para o aniversário de uma criança de 10 anos?', diff --git a/client/src/localization/languages/De.tsx b/client/src/localization/languages/De.tsx index 2856832690..774ef11d7a 100644 --- a/client/src/localization/languages/De.tsx +++ b/client/src/localization/languages/De.tsx @@ -3,11 +3,14 @@ export default { com_ui_examples: 'Beispiele', com_ui_new_chat: 'Neuer Chat', + com_ui_happy_birthday: 'Es ist mein erster Geburtstag!', com_ui_example_quantum_computing: 'Erkläre Quantencomputing in einfachen Worten', - com_ui_example_10_year_old_b_day: 'Hast du eine kreative Idee für den Geburtstag eines 10-Jährigen?', + com_ui_example_10_year_old_b_day: + 'Hast du eine kreative Idee für den Geburtstag eines 10-Jährigen?', com_ui_example_http_in_js: 'Wie stelle ich eine HTTP-Anfrage in Javascript?', com_ui_capabilities: 'Funktionen', - com_ui_capability_remember: 'Erinnert sich daran, was der Benutzer zu einem früheren Zeitpunkt in der Konversation gesagt hat', + com_ui_capability_remember: + 'Erinnert sich daran, was der Benutzer zu einem früheren Zeitpunkt in der Konversation gesagt hat', com_ui_capability_correction: 'Ermöglicht es dem Benutzer, nachträgliche Korrekturen vorzunehmen', com_ui_capability_decline_requests: 'Ermöglicht es, unangemessene Anfragen abzulehnen', com_ui_limitations: 'Beschränkungen', @@ -29,13 +32,15 @@ export default { com_ui_showing: 'Zeigen', com_ui_of: 'von', com_ui_entries: 'Einträge', - com_ui_pay_per_call: 'Alle KI-Chats an einem Ort. Bezahle pro API-Abruf nutzungsbasiert und nicht pro Monat', + com_ui_pay_per_call: + 'Alle KI-Chats an einem Ort. Bezahle pro API-Abruf nutzungsbasiert und nicht pro Monat', com_ui_new_footer: 'Alle KI-Chats an einem Ort.', com_ui_enter: 'Eingabe', com_ui_submit: 'Abschicken', com_ui_upload_success: 'Erfolgreich hochgeladene Datei', com_ui_upload_error: 'Beim Hochladen deiner Datei ist ein Fehler aufgetreten', - com_ui_upload_invalid: 'Ungültige Datei zum Hochladen. Muss ein Bild sein, das nicht größer als 2 MB ist', + com_ui_upload_invalid: + 'Ungültige Datei zum Hochladen. Muss ein Bild sein, das nicht größer als 2 MB ist', com_ui_cancel: 'Abbrechen', com_ui_save: 'Speichern', com_ui_save_submit: 'Speichern & Absenden', @@ -121,10 +126,10 @@ export default { com_endpoint_bing_to_enable_sydney: 'Um Sydney zu aktivieren', com_endpoint_bing_jailbreak: 'Jailbreak', com_endpoint_bing_context_placeholder: - 'Bing kann bis zu 7k Token für \'context\' verwenden, auf die es in der Konversation Bezug nehmen kann. Der genaue Grenzwert ist nicht bekannt, aber mehr als 7k Token können zu Fehlern führen.', -com_endpoint_bing_system_message_placeholder: - 'WARNUNG: Der Missbrauch dieser Funktion kann dazu führen, dass Ihnen die Nutzung von Bing untersagt wird! Klicken Sie auf \'Systemnachricht\', um vollständige Anweisungen und die Standardnachricht zu erhalten, d.h. die als sicher geltende Voreinstellung \'Sydney\'.', -com_endpoint_system_message: 'System Nachricht', + 'Bing kann bis zu 7k Token für \'context\' verwenden, auf die es in der Konversation Bezug nehmen kann. Der genaue Grenzwert ist nicht bekannt, aber mehr als 7k Token können zu Fehlern führen.', + com_endpoint_bing_system_message_placeholder: + 'WARNUNG: Der Missbrauch dieser Funktion kann dazu führen, dass Ihnen die Nutzung von Bing untersagt wird! Klicken Sie auf \'Systemnachricht\', um vollständige Anweisungen und die Standardnachricht zu erhalten, d.h. die als sicher geltende Voreinstellung \'Sydney\'.', + com_endpoint_system_message: 'System Nachricht', com_endpoint_message: 'Nachricht an', com_endpoint_message_not_appendable: 'Bearbeite deine Nachricht oder generiere sie neu.', com_endpoint_default_blank: 'Standard: leer', @@ -145,7 +150,8 @@ com_endpoint_system_message: 'System Nachricht', com_endpoint_google_maxoutputtokens: ' Maximale Anzahl von Token, die in der Antwort erzeugt werden können. Gib einen niedrigeren Wert für kürzere Antworten und einen höheren Wert für längere Antworten an.', com_endpoint_google_custom_name_placeholder: 'Setze einen benutzerdefinierten Namen für Google', - com_endpoint_prompt_prefix_placeholder: 'Setze benutzerdefinierte Anweisungen oder Kontext. Ignoriert, wenn leer.', + com_endpoint_prompt_prefix_placeholder: + 'Setze benutzerdefinierte Anweisungen oder Kontext. Ignoriert, wenn leer.', com_endpoint_custom_name: 'Benutzerdefinierter Name', com_endpoint_prompt_prefix: 'Benutzerdefinierte Anweisungen', com_endpoint_temperature: 'Temperatur (Kreativität)', @@ -190,13 +196,18 @@ com_endpoint_system_message: 'System Nachricht', com_endpoint_plug_set_custom_instructions_for_gpt_placeholder: 'Setzt benutzerdefinierte Anweisungen, die in die System Nachricht aufgenommen werden. Standardmäßig: keine', com_endpoint_import: 'Importieren', - com_endpoint_set_custom_name: 'Lege einen benutzerdefinierten Namen fest, für den Fall, dass du diese Vorgabe finden kannst', + com_endpoint_set_custom_name: + 'Lege einen benutzerdefinierten Namen fest, für den Fall, dass du diese Vorgabe finden kannst', com_endpoint_preset_delete_confirm: 'Bist du sicher, dass du diese Vorgabe löschen willst?', - com_endpoint_preset_clear_all_confirm: "Bist du sicher, dass du alle deine Voreinstellungen löschen willst?", + com_endpoint_preset_clear_all_confirm: + 'Bist du sicher, dass du alle deine Voreinstellungen löschen willst?', com_endpoint_preset_import: 'Voreinstellung importiert!', - com_endpoint_preset_import_error: 'Beim Import deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es erneut.', - com_endpoint_preset_save_error: 'Es ist ein Fehler beim Speichern deiner Voreinstellung aufgetreten. Bitte versuche es noch einmal.', - com_endpoint_preset_delete_error: 'Beim Löschen deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es noch einmal.', + com_endpoint_preset_import_error: + 'Beim Import deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es erneut.', + com_endpoint_preset_save_error: + 'Es ist ein Fehler beim Speichern deiner Voreinstellung aufgetreten. Bitte versuche es noch einmal.', + com_endpoint_preset_delete_error: + 'Beim Löschen deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es noch einmal.', com_endpoint_preset_default_removed: 'ist nicht mehr die Standardeinstellung.', com_endpoint_preset_default_item: 'Standard:', com_endpoint_preset_default_none: 'Keine Standardeinstellung aktiv.', @@ -222,7 +233,8 @@ com_endpoint_system_message: 'System Nachricht', com_endpoint_presets_clear_warning: 'Bist du sicher, dass du alle Voreinstellungen löschen willst? Dies ist nicht umkehrbar.', com_endpoint_not_implemented: 'Nicht implementiert', - com_endpoint_no_presets: 'Es gibt noch keine Voreinstellungen, verwende die Schaltfläche "Einstellungen", um eine Vorlage zu erstellen.', + com_endpoint_no_presets: + 'Es gibt noch keine Voreinstellungen, verwende die Schaltfläche "Einstellungen", um eine Vorlage zu erstellen.', com_endpoint_not_available: 'Kein Endpunkt verfügbar', com_endpoint_view_options: 'Ansichtsoptionen', com_endpoint_save_convo_as_preset: 'Konversation als Voreinstellung speichern', @@ -244,18 +256,23 @@ com_endpoint_system_message: 'System Nachricht', com_endpoint_config_google_service_key: 'Google Service Account Key', com_endpoint_config_google_cloud_platform: '(von Google Cloud Platform)', com_endpoint_config_google_api_key: 'Google API Key', - com_endpoint_config_google_gemini_api: "(Gemini API)", - com_endpoint_config_google_api_info: 'Um deinen Generative Language API-Schlüssel (für Gemini) zu erhalten,', + com_endpoint_config_google_gemini_api: '(Gemini API)', + com_endpoint_config_google_api_info: + 'Um deinen Generative Language API-Schlüssel (für Gemini) zu erhalten,', com_endpoint_config_key_import_json_key: 'Importiere Service Account JSON Key.', - com_endpoint_config_key_import_json_key_success: 'Erfolgreich importierter Service Account JSON Key', + com_endpoint_config_key_import_json_key_success: + 'Erfolgreich importierter Service Account JSON Key', com_endpoint_config_key_import_json_key_invalid: 'Ungültiger Service Account JSON Key, Hast du die richtige Datei importiert?', - com_endpoint_config_key_get_edge_key: 'Um dein Access Token für Bing zu erhalten, melde dich an bei', + com_endpoint_config_key_get_edge_key: + 'Um dein Access Token für Bing zu erhalten, melde dich an bei', com_endpoint_config_key_get_edge_key_dev_tool: 'Verwende Dev-Tools oder eine Erweiterung, während du auf der Website angemeldet bist, um den Inhalt des _U-Cookies zu kopieren. Wenn dies fehlschlägt, befolge die folgenden Anweisungen', com_endpoint_config_key_edge_instructions: 'Anweisungen', - com_endpoint_config_key_edge_full_key_string: 'um die vollständigen Cookie-Strings zu übermitteln.', - com_endpoint_config_key_chatgpt: 'Um dein Zugangstoken für ChatGPT \'Gratis Version\' zu erhalten, melde dich bei', + com_endpoint_config_key_edge_full_key_string: + 'um die vollständigen Cookie-Strings zu übermitteln.', + com_endpoint_config_key_chatgpt: + 'Um dein Zugangstoken für ChatGPT \'Gratis Version\' zu erhalten, melde dich bei', com_endpoint_config_key_chatgpt_then_visit: 'danach besuche', com_endpoint_config_key_chatgpt_copy_token: 'Kopiere das Zugangstoken.', com_endpoint_config_key_google_need_to: 'Du musst', @@ -312,4 +329,4 @@ com_endpoint_system_message: 'System Nachricht', com_nav_setting_account: 'Konto', com_nav_language: 'Sprache', com_nav_lang_auto: 'Automatische Erkennung', -}; \ No newline at end of file +}; diff --git a/client/src/localization/languages/Eng.tsx b/client/src/localization/languages/Eng.tsx index f92dd2df7b..b0a8111f16 100644 --- a/client/src/localization/languages/Eng.tsx +++ b/client/src/localization/languages/Eng.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: 'Examples', com_ui_new_chat: 'New Chat', + com_ui_happy_birthday: 'It\'s my 1st birthday!', com_ui_example_quantum_computing: 'Explain quantum computing in simple terms', com_ui_example_10_year_old_b_day: 'Got any creative ideas for a 10 year old\'s birthday?', com_ui_example_http_in_js: 'How do I make an HTTP request in Javascript?', diff --git a/client/src/localization/languages/Es.tsx b/client/src/localization/languages/Es.tsx index f4525b7818..14a4ebbcce 100644 --- a/client/src/localization/languages/Es.tsx +++ b/client/src/localization/languages/Es.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: 'Ejemplos', com_ui_new_chat: 'Nuevo Chat', + com_ui_happy_birthday: '¡Es mi primer cumpleaños!', com_ui_example_quantum_computing: 'Explicar la computación cuántica en términos simples', com_ui_example_10_year_old_b_day: '¿Tienes alguna idea creativa para el cumpleaños de un niño de 10 años?', diff --git a/client/src/localization/languages/Fr.tsx b/client/src/localization/languages/Fr.tsx index 3e986c0c86..b00c49728b 100644 --- a/client/src/localization/languages/Fr.tsx +++ b/client/src/localization/languages/Fr.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: 'Exemples', com_ui_new_chat: 'Nouvelle conversation', + com_ui_happy_birthday: 'C\'est mon premier anniversaire !', com_ui_example_quantum_computing: 'Expliquer l\'informatique quantique en termes simples', com_ui_example_10_year_old_b_day: 'Tu as des idées créatives pour l\'anniversaire d\'un enfant de 10 ans ?', diff --git a/client/src/localization/languages/Id.tsx b/client/src/localization/languages/Id.tsx index f4a7d1cf19..2062c34e07 100644 --- a/client/src/localization/languages/Id.tsx +++ b/client/src/localization/languages/Id.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: 'Contoh', com_ui_new_chat: 'Chat Baru', + com_ui_happy_birthday: 'Ini ulang tahun pertamaku!', com_ui_example_quantum_computing: 'Jelaskan komputasi kuantum dengan istilah yang sederhana', com_ui_example_10_year_old_b_day: 'Ada ide kreatif untuk ulang tahun anak 10 tahun?', com_ui_example_http_in_js: 'Bagaimana cara membuat permintaan HTTP dalam Javascript?', diff --git a/client/src/localization/languages/It.tsx b/client/src/localization/languages/It.tsx index acb8b8ffba..c495af9c76 100644 --- a/client/src/localization/languages/It.tsx +++ b/client/src/localization/languages/It.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: 'Esempi', com_ui_new_chat: 'Nuova Chat', + com_ui_happy_birthday: 'È il mio primo compleanno!', com_ui_example_quantum_computing: 'Spiega l\'informatica quantistica in termini semplici', com_ui_example_10_year_old_b_day: 'Hai qualche idea creativa per il compleanno di un bambino di 10 anni?', diff --git a/client/src/localization/languages/Jp.tsx b/client/src/localization/languages/Jp.tsx index a1795df37d..0fa0dd3e54 100644 --- a/client/src/localization/languages/Jp.tsx +++ b/client/src/localization/languages/Jp.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: '例', com_ui_new_chat: '新規チャット', + com_ui_happy_birthday: '初めての誕生日です!', com_ui_example_quantum_computing: '量子コンピュータを簡潔に説明してください', com_ui_example_10_year_old_b_day: '10歳の誕生日で行うクリエイティブなアイデアはありますか?', com_ui_example_http_in_js: 'JavascriptでHTTPリクエストを作成するにはどうすればよいですか?', diff --git a/client/src/localization/languages/Ko.tsx b/client/src/localization/languages/Ko.tsx index 490ca40084..007c684642 100644 --- a/client/src/localization/languages/Ko.tsx +++ b/client/src/localization/languages/Ko.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: '예시', com_ui_new_chat: '새 채팅', + com_ui_happy_birthday: '내 첫 생일이야!', com_ui_example_quantum_computing: '양자 컴퓨팅을 간단하게 설명해줄래?', com_ui_example_10_year_old_b_day: '10살 아이 생일 파티를 위한 참신한 아이디어 있을까?', com_ui_example_http_in_js: '자바스크립트에서 HTTP 요청을 어떻게 만드나요?', diff --git a/client/src/localization/languages/Nl.tsx b/client/src/localization/languages/Nl.tsx index 73e776bec8..fe890ee817 100644 --- a/client/src/localization/languages/Nl.tsx +++ b/client/src/localization/languages/Nl.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: 'Voorbeelden', com_ui_new_chat: 'Nieuwe chat', + com_ui_happy_birthday: 'Het is mijn eerste verjaardag!', com_ui_example_quantum_computing: 'Leg quantumcomputing in eenvoudige termen uit', com_ui_example_10_year_old_b_day: 'Heb je creatieve ideeën voor de verjaardag van een 10-jarige?', com_ui_example_http_in_js: 'Hoe maak ik een HTTP-aanvraag in Javascript?', diff --git a/client/src/localization/languages/Pl.tsx b/client/src/localization/languages/Pl.tsx index f66e9221da..de65f22221 100644 --- a/client/src/localization/languages/Pl.tsx +++ b/client/src/localization/languages/Pl.tsx @@ -1,8 +1,9 @@ -// Polskie frazy +// Polish phrases export default { com_ui_examples: 'Przykłady', com_ui_new_chat: 'Nowy czat', + com_ui_happy_birthday: 'To moje pierwsze urodziny!', com_ui_example_quantum_computing: 'Wyjaśnij obliczenia kwantowe w prostych słowach', com_ui_example_10_year_old_b_day: 'Masz jakieś kreatywne pomysły na dziesiąte urodziny?', com_ui_example_http_in_js: 'Jak wykonać żądanie HTTP w JavaScript?', diff --git a/client/src/localization/languages/Ru.tsx b/client/src/localization/languages/Ru.tsx index 3813a2b0c8..6b0ab6428d 100644 --- a/client/src/localization/languages/Ru.tsx +++ b/client/src/localization/languages/Ru.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: 'Примеры', com_ui_new_chat: 'Создать чат', + com_ui_happy_birthday: 'Это мой первый день рождения!', com_ui_example_quantum_computing: 'Объясни квантовые вычисления простыми словами', com_ui_example_10_year_old_b_day: 'У тебя есть креативные идеи для дня рождения 10-летнего ребенка?', diff --git a/client/src/localization/languages/Sv.tsx b/client/src/localization/languages/Sv.tsx index 5ecbaf8612..2b016a598c 100644 --- a/client/src/localization/languages/Sv.tsx +++ b/client/src/localization/languages/Sv.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: 'Exempel', // Examples com_ui_new_chat: 'Ny chatt', // New chat + com_ui_happy_birthday: 'Det är min första födelsedag!', // It's my first birthday! com_ui_example_quantum_computing: 'Förklara kvantberäkning på enkla termer', // Explain quantum computing in simple terms com_ui_example_10_year_old_b_day: 'Har du några kreativa idéer till ett 10-årings födelsedag?', // Got any creative ideas for a 10 year old's birthday? com_ui_example_http_in_js: 'Hur gör jag en HTTP-förfrågan i Javascript?', // How do I make an HTTP request in Javascript? diff --git a/client/src/localization/languages/Tr.tsx b/client/src/localization/languages/Tr.tsx index 688de7556f..d9587a9fab 100644 --- a/client/src/localization/languages/Tr.tsx +++ b/client/src/localization/languages/Tr.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: 'Örnekler', com_ui_new_chat: 'Yeni Sohbet', + com_ui_happy_birthday: 'Bu benim ilk doğum günüm!', com_ui_example_quantum_computing: 'Kuantum bilgisayarını basit terimlerle açıkla', com_ui_example_10_year_old_b_day: '10 yaşındaki bir çocuğun doğum günü için yaratıcı fikirlerin var mı?', diff --git a/client/src/localization/languages/Vi.tsx b/client/src/localization/languages/Vi.tsx index 60fb18b38b..3691562458 100644 --- a/client/src/localization/languages/Vi.tsx +++ b/client/src/localization/languages/Vi.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: 'Ví dụ', com_ui_new_chat: 'Trò chuyện mới', + com_ui_happy_birthday: 'Đây là sinh nhật đầu tiên của tôi!', com_ui_example_quantum_computing: 'Giải thích máy tính lượng tử theo cách đơn giản', com_ui_example_10_year_old_b_day: 'Có ý tưởng sáng tạo nào cho sinh nhật của một đứa trẻ 10 tuổi không?', diff --git a/client/src/localization/languages/Zh.tsx b/client/src/localization/languages/Zh.tsx index 4706348edc..aedf517c3d 100644 --- a/client/src/localization/languages/Zh.tsx +++ b/client/src/localization/languages/Zh.tsx @@ -5,6 +5,7 @@ export default { com_ui_examples: '示例', com_ui_new_chat: '创建新对话', + com_ui_happy_birthday: '这是我的第一个生日!', com_ui_example_quantum_computing: '如何给7岁小孩讲解量子计算?', com_ui_example_10_year_old_b_day: '如何举办生日宴才能耳目一新?', com_ui_example_http_in_js: '如何在Python中实现HTTP请求?', diff --git a/client/src/localization/languages/ZhTraditional.tsx b/client/src/localization/languages/ZhTraditional.tsx index 7705dc878d..656d836346 100644 --- a/client/src/localization/languages/ZhTraditional.tsx +++ b/client/src/localization/languages/ZhTraditional.tsx @@ -3,6 +3,7 @@ export default { com_ui_examples: '範例', com_ui_new_chat: '新對話', + com_ui_happy_birthday: '這是我的第一個生日!', com_ui_example_quantum_computing: '用簡單的方式解釋量子計算', com_ui_example_10_year_old_b_day: '有沒有創意十足的十歲生日派對點子?', com_ui_example_http_in_js: '如何在 JavaScript 中發起 HTTP 請求?', diff --git a/packages/data-provider/src/types.ts b/packages/data-provider/src/types.ts index 9a498bd3f2..a45bf7f547 100644 --- a/packages/data-provider/src/types.ts +++ b/packages/data-provider/src/types.ts @@ -203,6 +203,7 @@ export type TStartupConfig = { socialLoginEnabled: boolean; emailEnabled: boolean; checkBalance: boolean; + showBirthdayIcon: boolean; customFooter?: string; };