mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 08:50:15 +01:00
🎉 happy birthday LibreChat (#1768)
* happy birthday LibreChat * Refactor endpoint condition in Landing component * Update birthday message in Eng.tsx * fix(/config): avoid nesting ternaries * refactor(/config): check birthday --------- Co-authored-by: Danny Avila <messagedaniel@protonmail.com>
This commit is contained in:
parent
14b61fc861
commit
a91042b6b9
24 changed files with 169 additions and 43 deletions
|
|
@ -26,6 +26,8 @@ DOMAIN_SERVER=http://localhost:3080
|
||||||
|
|
||||||
NO_INDEX=true
|
NO_INDEX=true
|
||||||
|
|
||||||
|
SHOW_BIRTHDAY_ICON=true
|
||||||
|
|
||||||
#===============#
|
#===============#
|
||||||
# Debug Logging #
|
# Debug Logging #
|
||||||
#===============#
|
#===============#
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,11 @@ const emailLoginEnabled =
|
||||||
process.env.ALLOW_EMAIL_LOGIN === undefined || isEnabled(process.env.ALLOW_EMAIL_LOGIN);
|
process.env.ALLOW_EMAIL_LOGIN === undefined || isEnabled(process.env.ALLOW_EMAIL_LOGIN);
|
||||||
|
|
||||||
router.get('/', async function (req, res) {
|
router.get('/', async function (req, res) {
|
||||||
|
const isBirthday = () => {
|
||||||
|
const today = new Date();
|
||||||
|
return today.getMonth() === 1 && today.getDate() === 11;
|
||||||
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const payload = {
|
const payload = {
|
||||||
appTitle: process.env.APP_TITLE || 'LibreChat',
|
appTitle: process.env.APP_TITLE || 'LibreChat',
|
||||||
|
|
@ -33,6 +38,10 @@ router.get('/', async function (req, res) {
|
||||||
!!process.env.EMAIL_PASSWORD &&
|
!!process.env.EMAIL_PASSWORD &&
|
||||||
!!process.env.EMAIL_FROM,
|
!!process.env.EMAIL_FROM,
|
||||||
checkBalance: isEnabled(process.env.CHECK_BALANCE),
|
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') {
|
if (typeof process.env.CUSTOM_FOOTER === 'string') {
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,17 @@
|
||||||
import type { ReactNode } from 'react';
|
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 { EModelEndpoint } from 'librechat-data-provider';
|
||||||
import { icons } from './Menus/Endpoints/Icons';
|
import { icons } from './Menus/Endpoints/Icons';
|
||||||
import { useChatContext } from '~/Providers';
|
import { useChatContext } from '~/Providers';
|
||||||
import { getEndpointField } from '~/utils';
|
import { getEndpointField } from '~/utils';
|
||||||
import { useLocalize } from '~/hooks';
|
import { useLocalize } from '~/hooks';
|
||||||
|
import { BirthdayIcon } from '~/components/svg';
|
||||||
|
import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '~/components/ui/';
|
||||||
|
|
||||||
export default function Landing({ Header }: { Header?: ReactNode }) {
|
export default function Landing({ Header }: { Header?: ReactNode }) {
|
||||||
const { conversation } = useChatContext();
|
const { conversation } = useChatContext();
|
||||||
const { data: endpointsConfig } = useGetEndpointsQuery();
|
const { data: endpointsConfig } = useGetEndpointsQuery();
|
||||||
|
const { data: startupConfig } = useGetStartupConfig();
|
||||||
|
|
||||||
const localize = useLocalize();
|
const localize = useLocalize();
|
||||||
let { endpoint } = conversation ?? {};
|
let { endpoint } = conversation ?? {};
|
||||||
|
|
@ -27,10 +30,12 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
|
||||||
const Icon = icons[iconKey];
|
const Icon = icons[iconKey];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<TooltipProvider delayDuration={50}>
|
||||||
|
<Tooltip>
|
||||||
<div className="relative h-full">
|
<div className="relative h-full">
|
||||||
<div className="absolute left-0 right-0">{Header && Header}</div>
|
<div className="absolute left-0 right-0">{Header && Header}</div>
|
||||||
<div className="flex h-full flex-col items-center justify-center">
|
<div className="flex h-full flex-col items-center justify-center">
|
||||||
<div className="mb-3 h-[72px] w-[72px]">
|
<div className="relative mb-3 h-[72px] w-[72px]">
|
||||||
<div className="gizmo-shadow-stroke relative flex h-full items-center justify-center rounded-full bg-white text-black">
|
<div className="gizmo-shadow-stroke relative flex h-full items-center justify-center rounded-full bg-white text-black">
|
||||||
{endpoint &&
|
{endpoint &&
|
||||||
Icon &&
|
Icon &&
|
||||||
|
|
@ -41,6 +46,14 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
|
||||||
endpoint: endpoint,
|
endpoint: endpoint,
|
||||||
iconURL: iconURL,
|
iconURL: iconURL,
|
||||||
})}
|
})}
|
||||||
|
<TooltipTrigger>
|
||||||
|
{(startupConfig?.showBirthdayIcon ?? false) && (
|
||||||
|
<BirthdayIcon className="absolute bottom-12 right-5" />
|
||||||
|
)}
|
||||||
|
</TooltipTrigger>
|
||||||
|
<TooltipContent side="top" sideOffset={85} className="left-[-20%]">
|
||||||
|
{localize('com_ui_happy_birthday')}
|
||||||
|
</TooltipContent>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="mb-5 text-2xl font-medium dark:text-white">
|
<div className="mb-5 text-2xl font-medium dark:text-white">
|
||||||
|
|
@ -48,5 +61,7 @@ export default function Landing({ Header }: { Header?: ReactNode }) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</Tooltip>
|
||||||
|
</TooltipProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
64
client/src/components/svg/BirthdayIcon.tsx
Normal file
64
client/src/components/svg/BirthdayIcon.tsx
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { cn } from '~/utils/';
|
||||||
|
|
||||||
|
export default function BirthdayIcon({ className = '' }) {
|
||||||
|
return (
|
||||||
|
<svg
|
||||||
|
version="1.1"
|
||||||
|
viewBox="0 0 233.33 290"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlnsXlink="http://www.w3.org/1999/xlink"
|
||||||
|
className={cn('h-14 w-14', className)}
|
||||||
|
>
|
||||||
|
<defs>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient1842"
|
||||||
|
x1="163.92"
|
||||||
|
x2="173.66"
|
||||||
|
y1="22.212"
|
||||||
|
y2="-6.5784"
|
||||||
|
gradientTransform="translate(.10391 .050143)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
>
|
||||||
|
<stop stopColor="#640a62" offset="0" />
|
||||||
|
<stop stopColor="#852283" offset=".49917" />
|
||||||
|
<stop stopColor="#640a62" offset="1" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<path
|
||||||
|
transform="matrix(.43416 .90084 -.89966 .4366 0 0)"
|
||||||
|
d="m259.29-126.03a232.2 237.56 0 0 1-17.412 231.34l-193.32-131.59z"
|
||||||
|
fill="url(#linearGradient1842)"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
transform="matrix(.6967 .051926 -.051926 .6967 35.578 23.196)"
|
||||||
|
d="m50.818 31.415c-1.4654 2.4749-10.838 2.4195-12.997 4.3204-2.1584 1.9009-3.288 11.206-5.9282 12.347-2.6402 1.1409-10.191-4.4132-13.054-4.1441-2.8636 0.26917-9.2466 7.133-12.053 6.5041-2.8066-0.62889-5.6503-9.5602-8.1252-11.026-2.4749-1.4654-11.673 0.33572-13.574-1.8227s1.0482-11.056-0.0927-13.696c-1.1409-2.6402-9.6412-6.5898-9.9104-9.4533-0.26917-2.8636 7.3463-8.328 7.9752-11.135 0.62889-2.8066-3.9265-10.998-2.4612-13.473 1.4654-2.4749 10.838-2.4195 12.997-4.3204 2.1584-1.9009 3.288-11.206 5.9282-12.347 2.6402-1.1409 10.191 4.4132 13.054 4.1441 2.8636-0.26917 9.2466-7.133 12.053-6.5041 2.8066 0.62889 5.6503 9.5602 8.1252 11.026s11.673-0.33572 13.574 1.8227c1.9009 2.1584-1.0482 11.056 0.0927 13.696 1.1409 2.6402 9.6412 6.5898 9.9104 9.4533 0.26917 2.8635-7.3463 8.328-7.9752 11.135-0.62889 2.8066 3.9265 10.998 2.4612 13.473z"
|
||||||
|
fill="#ff9d78"
|
||||||
|
stroke="#f29472"
|
||||||
|
strokeWidth="4.7877"
|
||||||
|
/>
|
||||||
|
<circle cx="170.36" cy="215.76" r="12.903" fill="#cfffff" />
|
||||||
|
<path
|
||||||
|
d="m220.77 174.77c-88.526 101.03-191.21 85.731-209.5 82.142-2.2101-2e-5 -2.6686 0.42426-3.437 2.0021l-1.7042 7.5028c0.056197 2.3603 0.37544 2.6428 1.9121 3.5409 18.396 3.3746 130.27 19.488 223.46-86.881 0.64011-1.5095 0.46653-3.1324-0.59137-4.7337l-5.1558-3.6482c-1.586-0.8743-3.9524-0.94332-4.9837 0.0751z"
|
||||||
|
color="#000000"
|
||||||
|
fill="#ff9d78"
|
||||||
|
stroke="#f29472"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
strokeWidth="2.8913"
|
||||||
|
/>
|
||||||
|
<g fill="#cfffff">
|
||||||
|
<circle cx="72.684" cy="99.47" r="12.903" />
|
||||||
|
<circle cx="99.144" cy="172.32" r="12.903" />
|
||||||
|
<circle cx="59.617" cy="214.78" r="12.903" />
|
||||||
|
<circle cx="135.4" cy="118.42" r="12.903" />
|
||||||
|
<path
|
||||||
|
transform="rotate(38.66)"
|
||||||
|
d="m254.21-1.9608a12.903 12.903 0 0 1-6.4852 11.194 12.903 12.903 0 0 1-12.937-0.0582 12.903 12.903 0 0 1-6.3843-11.252l12.903 0.1161z"
|
||||||
|
/>
|
||||||
|
<path d="m29.476 158.16a12.903 12.903 0 0 0-3.6562 0.5293l-3.3691 23.189a12.903 12.903 0 0 0 7.0254 2.0879 12.903 12.903 0 0 0 12.904-12.904 12.903 12.903 0 0 0-12.904-12.902z" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -45,3 +45,4 @@ export { default as UserIcon } from './UserIcon';
|
||||||
export { default as NewChatIcon } from './NewChatIcon';
|
export { default as NewChatIcon } from './NewChatIcon';
|
||||||
export { default as ExperimentIcon } from './ExperimentIcon';
|
export { default as ExperimentIcon } from './ExperimentIcon';
|
||||||
export { default as GoogleIconChat } from './GoogleIconChat';
|
export { default as GoogleIconChat } from './GoogleIconChat';
|
||||||
|
export { default as BirthdayIcon } from './BirthdayIcon';
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_balance: 'الرصيد',
|
com_ui_balance: 'الرصيد',
|
||||||
com_ui_examples: 'أمثلة',
|
com_ui_examples: 'أمثلة',
|
||||||
|
com_ui_happy_birthday: 'إنه عيد ميلادي الأول!',
|
||||||
com_ui_new_chat: 'دردشة جديدة',
|
com_ui_new_chat: 'دردشة جديدة',
|
||||||
com_ui_example_quantum_computing: 'شرح الحوسبة الكمومية ببساطة',
|
com_ui_example_quantum_computing: 'شرح الحوسبة الكمومية ببساطة',
|
||||||
com_ui_example_10_year_old_b_day: 'هل لديك أفكار إبداعية لعيد ميلاد طفل عمره 10 سنوات؟',
|
com_ui_example_10_year_old_b_day: 'هل لديك أفكار إبداعية لعيد ميلاد طفل عمره 10 سنوات؟',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Exemplos',
|
com_ui_examples: 'Exemplos',
|
||||||
com_ui_new_chat: 'Novo Chat',
|
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_quantum_computing: 'Explique a computação quântica em termos simples',
|
||||||
com_ui_example_10_year_old_b_day:
|
com_ui_example_10_year_old_b_day:
|
||||||
'Tem alguma ideia criativa para o aniversário de uma criança de 10 anos?',
|
'Tem alguma ideia criativa para o aniversário de uma criança de 10 anos?',
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,14 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Beispiele',
|
com_ui_examples: 'Beispiele',
|
||||||
com_ui_new_chat: 'Neuer Chat',
|
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_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_example_http_in_js: 'Wie stelle ich eine HTTP-Anfrage in Javascript?',
|
||||||
com_ui_capabilities: 'Funktionen',
|
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_correction: 'Ermöglicht es dem Benutzer, nachträgliche Korrekturen vorzunehmen',
|
||||||
com_ui_capability_decline_requests: 'Ermöglicht es, unangemessene Anfragen abzulehnen',
|
com_ui_capability_decline_requests: 'Ermöglicht es, unangemessene Anfragen abzulehnen',
|
||||||
com_ui_limitations: 'Beschränkungen',
|
com_ui_limitations: 'Beschränkungen',
|
||||||
|
|
@ -29,13 +32,15 @@ export default {
|
||||||
com_ui_showing: 'Zeigen',
|
com_ui_showing: 'Zeigen',
|
||||||
com_ui_of: 'von',
|
com_ui_of: 'von',
|
||||||
com_ui_entries: 'Einträge',
|
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_new_footer: 'Alle KI-Chats an einem Ort.',
|
||||||
com_ui_enter: 'Eingabe',
|
com_ui_enter: 'Eingabe',
|
||||||
com_ui_submit: 'Abschicken',
|
com_ui_submit: 'Abschicken',
|
||||||
com_ui_upload_success: 'Erfolgreich hochgeladene Datei',
|
com_ui_upload_success: 'Erfolgreich hochgeladene Datei',
|
||||||
com_ui_upload_error: 'Beim Hochladen deiner Datei ist ein Fehler aufgetreten',
|
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_cancel: 'Abbrechen',
|
||||||
com_ui_save: 'Speichern',
|
com_ui_save: 'Speichern',
|
||||||
com_ui_save_submit: 'Speichern & Absenden',
|
com_ui_save_submit: 'Speichern & Absenden',
|
||||||
|
|
@ -145,7 +150,8 @@ com_endpoint_system_message: 'System Nachricht',
|
||||||
com_endpoint_google_maxoutputtokens:
|
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.',
|
' 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_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_custom_name: 'Benutzerdefinierter Name',
|
||||||
com_endpoint_prompt_prefix: 'Benutzerdefinierte Anweisungen',
|
com_endpoint_prompt_prefix: 'Benutzerdefinierte Anweisungen',
|
||||||
com_endpoint_temperature: 'Temperatur (Kreativität)',
|
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:
|
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
|
||||||
'Setzt benutzerdefinierte Anweisungen, die in die System Nachricht aufgenommen werden. Standardmäßig: keine',
|
'Setzt benutzerdefinierte Anweisungen, die in die System Nachricht aufgenommen werden. Standardmäßig: keine',
|
||||||
com_endpoint_import: 'Importieren',
|
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_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: 'Voreinstellung importiert!',
|
||||||
com_endpoint_preset_import_error: 'Beim Import deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es erneut.',
|
com_endpoint_preset_import_error:
|
||||||
com_endpoint_preset_save_error: 'Es ist ein Fehler beim Speichern deiner Voreinstellung aufgetreten. Bitte versuche es noch einmal.',
|
'Beim Import deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es erneut.',
|
||||||
com_endpoint_preset_delete_error: 'Beim Löschen deiner Voreinstellung ist ein Fehler aufgetreten. Bitte versuche es noch einmal.',
|
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_removed: 'ist nicht mehr die Standardeinstellung.',
|
||||||
com_endpoint_preset_default_item: 'Standard:',
|
com_endpoint_preset_default_item: 'Standard:',
|
||||||
com_endpoint_preset_default_none: 'Keine Standardeinstellung aktiv.',
|
com_endpoint_preset_default_none: 'Keine Standardeinstellung aktiv.',
|
||||||
|
|
@ -222,7 +233,8 @@ com_endpoint_system_message: 'System Nachricht',
|
||||||
com_endpoint_presets_clear_warning:
|
com_endpoint_presets_clear_warning:
|
||||||
'Bist du sicher, dass du alle Voreinstellungen löschen willst? Dies ist nicht umkehrbar.',
|
'Bist du sicher, dass du alle Voreinstellungen löschen willst? Dies ist nicht umkehrbar.',
|
||||||
com_endpoint_not_implemented: 'Nicht implementiert',
|
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_not_available: 'Kein Endpunkt verfügbar',
|
||||||
com_endpoint_view_options: 'Ansichtsoptionen',
|
com_endpoint_view_options: 'Ansichtsoptionen',
|
||||||
com_endpoint_save_convo_as_preset: 'Konversation als Voreinstellung speichern',
|
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_service_key: 'Google Service Account Key',
|
||||||
com_endpoint_config_google_cloud_platform: '(von Google Cloud Platform)',
|
com_endpoint_config_google_cloud_platform: '(von Google Cloud Platform)',
|
||||||
com_endpoint_config_google_api_key: 'Google API Key',
|
com_endpoint_config_google_api_key: 'Google API Key',
|
||||||
com_endpoint_config_google_gemini_api: "(Gemini API)",
|
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_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: '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:
|
com_endpoint_config_key_import_json_key_invalid:
|
||||||
'Ungültiger Service Account JSON Key, Hast du die richtige Datei importiert?',
|
'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:
|
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',
|
'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_instructions: 'Anweisungen',
|
||||||
com_endpoint_config_key_edge_full_key_string: 'um die vollständigen Cookie-Strings zu übermitteln.',
|
com_endpoint_config_key_edge_full_key_string:
|
||||||
com_endpoint_config_key_chatgpt: 'Um dein Zugangstoken für ChatGPT \'Gratis Version\' zu erhalten, melde dich bei',
|
'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_then_visit: 'danach besuche',
|
||||||
com_endpoint_config_key_chatgpt_copy_token: 'Kopiere das Zugangstoken.',
|
com_endpoint_config_key_chatgpt_copy_token: 'Kopiere das Zugangstoken.',
|
||||||
com_endpoint_config_key_google_need_to: 'Du musst',
|
com_endpoint_config_key_google_need_to: 'Du musst',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Examples',
|
com_ui_examples: 'Examples',
|
||||||
com_ui_new_chat: 'New Chat',
|
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_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_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?',
|
com_ui_example_http_in_js: 'How do I make an HTTP request in Javascript?',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Ejemplos',
|
com_ui_examples: 'Ejemplos',
|
||||||
com_ui_new_chat: 'Nuevo Chat',
|
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_quantum_computing: 'Explicar la computación cuántica en términos simples',
|
||||||
com_ui_example_10_year_old_b_day:
|
com_ui_example_10_year_old_b_day:
|
||||||
'¿Tienes alguna idea creativa para el cumpleaños de un niño de 10 años?',
|
'¿Tienes alguna idea creativa para el cumpleaños de un niño de 10 años?',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Exemples',
|
com_ui_examples: 'Exemples',
|
||||||
com_ui_new_chat: 'Nouvelle conversation',
|
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_quantum_computing: 'Expliquer l\'informatique quantique en termes simples',
|
||||||
com_ui_example_10_year_old_b_day:
|
com_ui_example_10_year_old_b_day:
|
||||||
'Tu as des idées créatives pour l\'anniversaire d\'un enfant de 10 ans ?',
|
'Tu as des idées créatives pour l\'anniversaire d\'un enfant de 10 ans ?',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Contoh',
|
com_ui_examples: 'Contoh',
|
||||||
com_ui_new_chat: 'Chat Baru',
|
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_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_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?',
|
com_ui_example_http_in_js: 'Bagaimana cara membuat permintaan HTTP dalam Javascript?',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Esempi',
|
com_ui_examples: 'Esempi',
|
||||||
com_ui_new_chat: 'Nuova Chat',
|
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_quantum_computing: 'Spiega l\'informatica quantistica in termini semplici',
|
||||||
com_ui_example_10_year_old_b_day:
|
com_ui_example_10_year_old_b_day:
|
||||||
'Hai qualche idea creativa per il compleanno di un bambino di 10 anni?',
|
'Hai qualche idea creativa per il compleanno di un bambino di 10 anni?',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: '例',
|
com_ui_examples: '例',
|
||||||
com_ui_new_chat: '新規チャット',
|
com_ui_new_chat: '新規チャット',
|
||||||
|
com_ui_happy_birthday: '初めての誕生日です!',
|
||||||
com_ui_example_quantum_computing: '量子コンピュータを簡潔に説明してください',
|
com_ui_example_quantum_computing: '量子コンピュータを簡潔に説明してください',
|
||||||
com_ui_example_10_year_old_b_day: '10歳の誕生日で行うクリエイティブなアイデアはありますか?',
|
com_ui_example_10_year_old_b_day: '10歳の誕生日で行うクリエイティブなアイデアはありますか?',
|
||||||
com_ui_example_http_in_js: 'JavascriptでHTTPリクエストを作成するにはどうすればよいですか?',
|
com_ui_example_http_in_js: 'JavascriptでHTTPリクエストを作成するにはどうすればよいですか?',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: '예시',
|
com_ui_examples: '예시',
|
||||||
com_ui_new_chat: '새 채팅',
|
com_ui_new_chat: '새 채팅',
|
||||||
|
com_ui_happy_birthday: '내 첫 생일이야!',
|
||||||
com_ui_example_quantum_computing: '양자 컴퓨팅을 간단하게 설명해줄래?',
|
com_ui_example_quantum_computing: '양자 컴퓨팅을 간단하게 설명해줄래?',
|
||||||
com_ui_example_10_year_old_b_day: '10살 아이 생일 파티를 위한 참신한 아이디어 있을까?',
|
com_ui_example_10_year_old_b_day: '10살 아이 생일 파티를 위한 참신한 아이디어 있을까?',
|
||||||
com_ui_example_http_in_js: '자바스크립트에서 HTTP 요청을 어떻게 만드나요?',
|
com_ui_example_http_in_js: '자바스크립트에서 HTTP 요청을 어떻게 만드나요?',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Voorbeelden',
|
com_ui_examples: 'Voorbeelden',
|
||||||
com_ui_new_chat: 'Nieuwe chat',
|
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_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_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?',
|
com_ui_example_http_in_js: 'Hoe maak ik een HTTP-aanvraag in Javascript?',
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
// Polskie frazy
|
// Polish phrases
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Przykłady',
|
com_ui_examples: 'Przykłady',
|
||||||
com_ui_new_chat: 'Nowy czat',
|
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_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_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?',
|
com_ui_example_http_in_js: 'Jak wykonać żądanie HTTP w JavaScript?',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Примеры',
|
com_ui_examples: 'Примеры',
|
||||||
com_ui_new_chat: 'Создать чат',
|
com_ui_new_chat: 'Создать чат',
|
||||||
|
com_ui_happy_birthday: 'Это мой первый день рождения!',
|
||||||
com_ui_example_quantum_computing: 'Объясни квантовые вычисления простыми словами',
|
com_ui_example_quantum_computing: 'Объясни квантовые вычисления простыми словами',
|
||||||
com_ui_example_10_year_old_b_day:
|
com_ui_example_10_year_old_b_day:
|
||||||
'У тебя есть креативные идеи для дня рождения 10-летнего ребенка?',
|
'У тебя есть креативные идеи для дня рождения 10-летнего ребенка?',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Exempel', // Examples
|
com_ui_examples: 'Exempel', // Examples
|
||||||
com_ui_new_chat: 'Ny chatt', // New chat
|
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_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_10_year_old_b_day: 'Har du några kreativa idéer till ett 10-årings födelsedag?', // Got any creative ideas for a 10 year old's birthday?
|
||||||
com_ui_example_http_in_js: 'Hur gör jag en HTTP-förfrågan i Javascript?', // How do I make an HTTP request in Javascript?
|
com_ui_example_http_in_js: 'Hur gör jag en HTTP-förfrågan i Javascript?', // How do I make an HTTP request in Javascript?
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Örnekler',
|
com_ui_examples: 'Örnekler',
|
||||||
com_ui_new_chat: 'Yeni Sohbet',
|
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_quantum_computing: 'Kuantum bilgisayarını basit terimlerle açıkla',
|
||||||
com_ui_example_10_year_old_b_day:
|
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ı?',
|
'10 yaşındaki bir çocuğun doğum günü için yaratıcı fikirlerin var mı?',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: 'Ví dụ',
|
com_ui_examples: 'Ví dụ',
|
||||||
com_ui_new_chat: 'Trò chuyện mới',
|
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_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:
|
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?',
|
'Có ý tưởng sáng tạo nào cho sinh nhật của một đứa trẻ 10 tuổi không?',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: '示例',
|
com_ui_examples: '示例',
|
||||||
com_ui_new_chat: '创建新对话',
|
com_ui_new_chat: '创建新对话',
|
||||||
|
com_ui_happy_birthday: '这是我的第一个生日!',
|
||||||
com_ui_example_quantum_computing: '如何给7岁小孩讲解量子计算?',
|
com_ui_example_quantum_computing: '如何给7岁小孩讲解量子计算?',
|
||||||
com_ui_example_10_year_old_b_day: '如何举办生日宴才能耳目一新?',
|
com_ui_example_10_year_old_b_day: '如何举办生日宴才能耳目一新?',
|
||||||
com_ui_example_http_in_js: '如何在Python中实现HTTP请求?',
|
com_ui_example_http_in_js: '如何在Python中实现HTTP请求?',
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
export default {
|
export default {
|
||||||
com_ui_examples: '範例',
|
com_ui_examples: '範例',
|
||||||
com_ui_new_chat: '新對話',
|
com_ui_new_chat: '新對話',
|
||||||
|
com_ui_happy_birthday: '這是我的第一個生日!',
|
||||||
com_ui_example_quantum_computing: '用簡單的方式解釋量子計算',
|
com_ui_example_quantum_computing: '用簡單的方式解釋量子計算',
|
||||||
com_ui_example_10_year_old_b_day: '有沒有創意十足的十歲生日派對點子?',
|
com_ui_example_10_year_old_b_day: '有沒有創意十足的十歲生日派對點子?',
|
||||||
com_ui_example_http_in_js: '如何在 JavaScript 中發起 HTTP 請求?',
|
com_ui_example_http_in_js: '如何在 JavaScript 中發起 HTTP 請求?',
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,7 @@ export type TStartupConfig = {
|
||||||
socialLoginEnabled: boolean;
|
socialLoginEnabled: boolean;
|
||||||
emailEnabled: boolean;
|
emailEnabled: boolean;
|
||||||
checkBalance: boolean;
|
checkBalance: boolean;
|
||||||
|
showBirthdayIcon: boolean;
|
||||||
customFooter?: string;
|
customFooter?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue