From 35ccfb14c25ade4320c783ff2991d3d79e199ccc Mon Sep 17 00:00:00 2001 From: pBrambi <51099204+pBrambi@users.noreply.github.com> Date: Thu, 20 Apr 2023 01:02:43 +0200 Subject: [PATCH 01/12] Create cs.ts Czech language translation --- app/locales/cs.ts | 185 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 app/locales/cs.ts diff --git a/app/locales/cs.ts b/app/locales/cs.ts new file mode 100644 index 00000000..9163ae2a --- /dev/null +++ b/app/locales/cs.ts @@ -0,0 +1,185 @@ +import { SubmitKey } from "../store/app"; +import type { LocaleType } from "./index"; + +const cs: LocaleType = { + WIP: "V přípravě...", + Error: { + Unauthorized: + "Neoprávněný přístup, zadejte přístupový kód na stránce nastavení.", + }, + ChatItem: { + ChatItemCount: (count: number) => `${count} zpráv`, + }, + Chat: { + SubTitle: (count: number) => `${count} zpráv s ChatGPT`, + Actions: { + ChatList: "Přejít na seznam chatů", + CompressedHistory: "Pokyn z komprimované paměti historie", + Export: "Exportovat všechny zprávy jako Markdown", + Copy: "Kopírovat", + Stop: "Zastavit", + Retry: "Zopakovat", + Delete: "Smazat", + }, + Rename: "Přejmenovat chat", + Typing: "Píše...", + Input: (submitKey: string) => { + var inputHints = `${submitKey} pro odeslání`; + if (submitKey === String(SubmitKey.Enter)) { + inputHints += ", Shift + Enter pro řádkování"; + } + return inputHints + ", / pro vyhledávání pokynů"; + }, + Send: "Odeslat", + }, + Export: { + Title: "Všechny zprávy", + Copy: "Kopírovat vše", + Download: "Stáhnout", + MessageFromYou: "Zpráva od vás", + MessageFromChatGPT: "Zpráva z ChatGPT", + }, + Memory: { + Title: "Pokyn z paměti", + EmptyContent: "Zatím nic.", + Send: "Odeslat paměť", + Copy: "Kopírovat paměť", + Reset: "Obnovit relaci", + ResetConfirm: + "Resetováním se vymaže historie aktuálních konverzací i paměť historie pokynů. Opravdu chcete provést obnovu?", + }, + Home: { + NewChat: "Nový chat", + DeleteChat: "Potvrzujete smazání vybrané konverzace?", + DeleteToast: "Chat smazán", + Revert: "Zvrátit", + }, + Settings: { + Title: "Nastavení", + SubTitle: "Všechna nastavení", + Actions: { + ClearAll: "Vymazat všechna data", + ResetAll: "Obnovení všech nastavení", + Close: "Zavřít", + ConfirmResetAll: { + Confirm: "Jste si jisti, že chcete obnovit veškerou konfiguraci?", + }, + ConfirmClearAll: { + Confirm: "Jste si jisti, že chcete obnovit celý chat?", + }, + }, + Lang: { + Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` + Options: { + cn: "简体中文", + en: "English", + tw: "繁體中文", + es: "Español", + it: "Italiano", + tr: "Türkçe", + jp: "日本語", + de: "Deutsch", + }, + }, + Avatar: "Avatar", + FontSize: { + Title: "Velikost písma", + SubTitle: "Nastavení velikosti písma obsahu chatu", + }, + Update: { + Version: (x: string) => `Verze: ${x}`, + IsLatest: "Aktuální verze", + CheckUpdate: "Zkontrolovat aktualizace", + IsChecking: "Kontrola aktualizace...", + FoundUpdate: (x: string) => `Nalezena nová verze: ${x}`, + GoToUpdate: "Aktualizovat", + }, + SendKey: "Odeslat klíč", + Theme: "Téma", + TightBorder: "Těsné ohraničení", + SendPreviewBubble: "Náhled v chatovací bublině", + Prompt: { + Disable: { + Title: "Deaktivovat automatické dokončování", + SubTitle: "Zadejte / pro spuštění automatického dokončování", + }, + List: "Seznam pokynů", + ListCount: (builtin: number, custom: number) => + `${builtin} vestavěných, ${custom} uživatelských`, + Edit: "Upravit", + Modal: { + Title: "Seznam pokynů", + Add: "Přidat pokyn", + Search: "Hledat pokyny", + }, + }, + HistoryCount: { + Title: "Počet připojených zpráv", + SubTitle: "Počet odeslaných připojených zpráv na žádost", + }, + CompressThreshold: { + Title: "Práh pro kompresi historie", + SubTitle: + "Komprese proběhne, pokud délka nekomprimovaných zpráv přesáhne tuto hodnotu", + }, + Token: { + Title: "API klíč", + SubTitle: "Použitím klíče ignorujete omezení přístupového kódu", + Placeholder: "Klíč API OpenAI", + }, + Usage: { + Title: "Stav účtu", + SubTitle(used: any, total: any) { + return `Použito tento měsíc $${used}, předplatné $${total}`; + }, + IsChecking: "Kontroluje se...", + Check: "Zkontrolovat", + NoAccess: "Pro kontrolu zůstatku zadejte klíč API", + }, + AccessCode: { + Title: "Přístupový kód", + SubTitle: "Kontrola přístupu povolena", + Placeholder: "Potřebujete přístupový kód", + }, + Model: "Model", + Temperature: { + Title: "Teplota", + SubTitle: "Větší hodnota činí výstup náhodnějším", + }, + MaxTokens: { + Title: "Max. počet tokenů", + SubTitle: "Maximální délka vstupního tokenu a generovaných tokenů", + }, + PresencePenlty: { + Title: "Přítomnostní korekce", + SubTitle: + "Větší hodnota zvyšuje pravděpodobnost nových témat.", + }, + }, + Store: { + DefaultTopic: "Nová konverzace", + BotHello: "Ahoj! Jak mohu dnes pomoci?", + Error: "Něco se pokazilo, zkuste to prosím později.", + Prompt: { + History: (content: string) => + "Toto je shrnutí historie chatu mezi umělou inteligencí a uživatelem v podobě rekapitulace: " + + content, + Topic: + "Vytvořte prosím název o čtyřech až pěti slovech vystihující průběh našeho rozhovoru bez jakýchkoli úvodních slov, interpunkčních znamének, uvozovek, teček, symbolů nebo dalšího textu. Odstraňte uvozovky.", + Summarize: + "Krátce shrň naši diskusi v rozsahu do 200 slov a použij ji jako podnět pro budoucí kontext.", + }, + ConfirmClearAll: "Potvrďte pro vymazání všech dat chatu a nastavení?", + }, + Copy: { + Success: "Zkopírováno do schránky", + Failed: "Kopírování selhalo, prosím, povolte přístup ke schránce", + }, + Context: { + Toast: (x: any) => `Použití ${x} kontextových pokynů`, + Edit: "Kontextové a paměťové pokyny", + Add: "Přidat", + }, +}; + +export default cs; From 6a74d62e98faa224432768c73dc1273b7bb1d2d0 Mon Sep 17 00:00:00 2001 From: pBrambi <51099204+pBrambi@users.noreply.github.com> Date: Thu, 20 Apr 2023 19:26:31 +0200 Subject: [PATCH 02/12] Czech --- app/locales/cn.ts | 1 + app/locales/de.ts | 1 + app/locales/en.ts | 1 + app/locales/es.ts | 1 + app/locales/index.ts | 3 +++ app/locales/it.ts | 1 + app/locales/jp.ts | 1 + app/locales/tr.ts | 1 + app/locales/tw.ts | 1 + 9 files changed, 11 insertions(+) diff --git a/app/locales/cn.ts b/app/locales/cn.ts index 1c198195..744c8258 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -76,6 +76,7 @@ const cn = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "头像", diff --git a/app/locales/de.ts b/app/locales/de.ts index e71abfaf..ee9a28dc 100644 --- a/app/locales/de.ts +++ b/app/locales/de.ts @@ -79,6 +79,7 @@ const de: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/en.ts b/app/locales/en.ts index 20e56960..947d3908 100644 --- a/app/locales/en.ts +++ b/app/locales/en.ts @@ -79,6 +79,7 @@ const en: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/es.ts b/app/locales/es.ts index e2a9eb21..b0162835 100644 --- a/app/locales/es.ts +++ b/app/locales/es.ts @@ -79,6 +79,7 @@ const es: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/index.ts b/app/locales/index.ts index 389304f8..eee172a2 100644 --- a/app/locales/index.ts +++ b/app/locales/index.ts @@ -6,6 +6,7 @@ import IT from "./it"; import TR from "./tr"; import JP from "./jp"; import DE from "./de"; +import DE from "./cs"; export type { LocaleType } from "./cn"; @@ -18,6 +19,7 @@ export const AllLangs = [ "tr", "jp", "de", + "cs", ] as const; type Lang = (typeof AllLangs)[number]; @@ -77,4 +79,5 @@ export default { tr: TR, jp: JP, de: DE, + cs: CS, }[getLang()] as typeof CN; diff --git a/app/locales/it.ts b/app/locales/it.ts index f0453b5c..7881d1ac 100644 --- a/app/locales/it.ts +++ b/app/locales/it.ts @@ -79,6 +79,7 @@ const it: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/jp.ts b/app/locales/jp.ts index 2818820b..ab231b35 100644 --- a/app/locales/jp.ts +++ b/app/locales/jp.ts @@ -78,6 +78,7 @@ const jp = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "アバター", diff --git a/app/locales/tr.ts b/app/locales/tr.ts index 04a84624..0222037b 100644 --- a/app/locales/tr.ts +++ b/app/locales/tr.ts @@ -79,6 +79,7 @@ const tr: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/tw.ts b/app/locales/tw.ts index 44c07898..14e5406b 100644 --- a/app/locales/tw.ts +++ b/app/locales/tw.ts @@ -77,6 +77,7 @@ const tw: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "大頭貼", From 96e3d3a22c57fd061cad68d374d97c5f1ec51e2f Mon Sep 17 00:00:00 2001 From: PaRaD1SE98 Date: Wed, 10 May 2023 07:14:49 +0000 Subject: [PATCH 03/12] =?UTF-8?q?=E7=BB=99=E6=89=80=E6=9C=89select?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA=E5=8F=B3?= =?UTF-8?q?=E4=BE=A7=E4=B8=8B=E6=8B=89=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/mask.tsx | 10 +++++----- app/components/model-config.tsx | 6 +++--- app/components/settings.tsx | 22 +++++++++++++++------- app/components/ui-lib.module.scss | 25 +++++++++++++++++++++++++ app/components/ui-lib.tsx | 21 +++++++++++++++++++++ app/icons/down.svg | 1 + 6 files changed, 70 insertions(+), 15 deletions(-) create mode 100644 app/icons/down.svg diff --git a/app/components/mask.tsx b/app/components/mask.tsx index a37cfba7..13ffb9ef 100644 --- a/app/components/mask.tsx +++ b/app/components/mask.tsx @@ -14,7 +14,7 @@ import CopyIcon from "../icons/copy.svg"; import { DEFAULT_MASK_AVATAR, Mask, useMaskStore } from "../store/mask"; import { Message, ModelConfig, ROLES, useChatStore } from "../store"; -import { Input, List, ListItem, Modal, Popover } from "./ui-lib"; +import { Input, List, ListItem, Modal, Popover, Select } from "./ui-lib"; import { Avatar, AvatarPicker } from "./emoji"; import Locale, { AllLangs, Lang } from "../locales"; import { useNavigate } from "react-router-dom"; @@ -116,7 +116,7 @@ function ContextPromptItem(props: { return (
{!focusingInput && ( - + )} onSearch(e.currentTarget.value)} /> - + - + - + - + - + ) {
); } + +export function Select( + props: React.DetailedHTMLProps< + React.SelectHTMLAttributes, + HTMLSelectElement + >, +) { + const { className, children, ...otherProps } = props; + return ( +
+ + +
+ ); +} diff --git a/app/icons/down.svg b/app/icons/down.svg new file mode 100644 index 00000000..cca830b8 --- /dev/null +++ b/app/icons/down.svg @@ -0,0 +1 @@ + From db9084b0dccb9efe1bd5f6e9d11256a8820b5b24 Mon Sep 17 00:00:00 2001 From: Petr Branberger <51099204+pBrambi@users.noreply.github.com> Date: Wed, 10 May 2023 12:39:33 +0200 Subject: [PATCH 04/12] Fix redefined "DE" in /index.ts --- app/locales/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/locales/index.ts b/app/locales/index.ts index eee172a2..b38afc04 100644 --- a/app/locales/index.ts +++ b/app/locales/index.ts @@ -6,7 +6,7 @@ import IT from "./it"; import TR from "./tr"; import JP from "./jp"; import DE from "./de"; -import DE from "./cs"; +import CS from "./cs"; export type { LocaleType } from "./cn"; From 736869454bb5a614a2b5360b928bf403363527d5 Mon Sep 17 00:00:00 2001 From: Petr Branberger <51099204+pBrambi@users.noreply.github.com> Date: Wed, 10 May 2023 12:50:12 +0200 Subject: [PATCH 05/12] Fix /cs.ts to include the option --- app/locales/cs.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/locales/cs.ts b/app/locales/cs.ts index 9163ae2a..2b820880 100644 --- a/app/locales/cs.ts +++ b/app/locales/cs.ts @@ -79,6 +79,7 @@ const cs: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + cs: "Čeština", }, }, Avatar: "Avatar", From c4210be3c7a411b750a7dddf5672c9201deda573 Mon Sep 17 00:00:00 2001 From: Petr Branberger <51099204+pBrambi@users.noreply.github.com> Date: Wed, 10 May 2023 15:48:36 +0200 Subject: [PATCH 06/12] Czech language update --- app/locales/cn.ts | 1 + app/locales/cs.ts | 89 ++++++++++++++++++++++++++++++++++++-------- app/locales/de.ts | 1 + app/locales/en.ts | 1 + app/locales/es.ts | 1 + app/locales/index.ts | 3 ++ app/locales/it.ts | 1 + app/locales/jp.ts | 1 + app/locales/ru.ts | 1 + app/locales/tr.ts | 1 + app/locales/tw.ts | 1 + app/locales/vi.ts | 1 + 12 files changed, 87 insertions(+), 15 deletions(-) diff --git a/app/locales/cn.ts b/app/locales/cn.ts index c6f5d67f..0cf3b55e 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -80,6 +80,7 @@ const cn = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "头像", diff --git a/app/locales/cs.ts b/app/locales/cs.ts index 2b820880..0446fb1e 100644 --- a/app/locales/cs.ts +++ b/app/locales/cs.ts @@ -1,4 +1,4 @@ -import { SubmitKey } from "../store/app"; +import { SubmitKey } from "../store/config"; import type { LocaleType } from "./index"; const cs: LocaleType = { @@ -31,6 +31,10 @@ const cs: LocaleType = { return inputHints + ", / pro vyhledávání pokynů"; }, Send: "Odeslat", + Config: { + Reset: "Obnovit výchozí", + SaveAs: "Uložit jako Masku", + }, }, Export: { Title: "Všechny zprávy", @@ -59,18 +63,15 @@ const cs: LocaleType = { SubTitle: "Všechna nastavení", Actions: { ClearAll: "Vymazat všechna data", - ResetAll: "Obnovení všech nastavení", + ResetAll: "Obnovit veškeré nastavení", Close: "Zavřít", - ConfirmResetAll: { - Confirm: "Jste si jisti, že chcete obnovit veškerou konfiguraci?", - }, - ConfirmClearAll: { - Confirm: "Jste si jisti, že chcete obnovit celý chat?", - }, + ConfirmResetAll: "Jste si jisti, že chcete obnovit všechna nastavení?", + ConfirmClearAll: "Jste si jisti, že chcete smazat všechna data?", }, Lang: { Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` - Options: { + All: "Všechny jazyky", + Options: { cn: "简体中文", en: "English", tw: "繁體中文", @@ -79,6 +80,8 @@ const cs: LocaleType = { tr: "Türkçe", jp: "日本語", de: "Deutsch", + vi: "Vietnamese", + ru: "Русский", cs: "Čeština", }, }, @@ -98,7 +101,14 @@ const cs: LocaleType = { SendKey: "Odeslat klíč", Theme: "Téma", TightBorder: "Těsné ohraničení", - SendPreviewBubble: "Náhled v chatovací bublině", + SendPreviewBubble: { + Title: "Odesílat chatovací bublinu s náhledem", + SubTitle: "Zobrazit v náhledu bubliny", + }, + Mask: { + Title: "Úvodní obrazovka Masek", + SubTitle: "Před zahájením nového chatu zobrazte úvodní obrazovku Masek", + }, Prompt: { Disable: { Title: "Deaktivovat automatické dokončování", @@ -113,6 +123,9 @@ const cs: LocaleType = { Add: "Přidat pokyn", Search: "Hledat pokyny", }, + EditModal: { + Title: "Editovat pokyn", + }, }, HistoryCount: { Title: "Počet připojených zpráv", @@ -131,9 +144,9 @@ const cs: LocaleType = { Usage: { Title: "Stav účtu", SubTitle(used: any, total: any) { - return `Použito tento měsíc $${used}, předplatné $${total}`; + return `Použito tento měsíc $${used}, předplaceno $${total}`; }, - IsChecking: "Kontroluje se...", + IsChecking: "Kontroluji...", Check: "Zkontrolovat", NoAccess: "Pro kontrolu zůstatku zadejte klíč API", }, @@ -169,8 +182,7 @@ const cs: LocaleType = { "Vytvořte prosím název o čtyřech až pěti slovech vystihující průběh našeho rozhovoru bez jakýchkoli úvodních slov, interpunkčních znamének, uvozovek, teček, symbolů nebo dalšího textu. Odstraňte uvozovky.", Summarize: "Krátce shrň naši diskusi v rozsahu do 200 slov a použij ji jako podnět pro budoucí kontext.", - }, - ConfirmClearAll: "Potvrďte pro vymazání všech dat chatu a nastavení?", + }, }, Copy: { Success: "Zkopírováno do schránky", @@ -179,7 +191,54 @@ const cs: LocaleType = { Context: { Toast: (x: any) => `Použití ${x} kontextových pokynů`, Edit: "Kontextové a paměťové pokyny", - Add: "Přidat", + Add: "Přidat pokyn", + }, + Plugin: { + Name: "Plugin", + }, + Mask: { + Name: "Maska", + Page: { + Title: "Šablona pokynu"", + SubTitle: (count: number) => `${count} šablon pokynů`, + Search: "Hledat v šablonách", + Create: "Vytvořit", + }, + Item: { + Info: (count: number) => `${count} pokynů`, + Chat: "Chat", + View: "Zobrazit", + Edit: "Upravit", + Delete: "Smazat", + DeleteConfirm: "Potvrdit smazání?", + }, + EditModal: { + Title: (readonly: boolean) => + `Editovat šablonu pokynu ${readonly ? "(pouze ke čtení)" : ""}`, + Download: "Stáhnout", + Clone: "Duplikovat", + }, + Config: { + Avatar: "Avatar Bota", + Name: "Jméno Bota", + }, + }, + NewChat: { + Return: "Zpět", + Skip: "Přeskočit", + Title: "Vyberte Masku", + SubTitle: "Chatovat s duší za Maskou", + More: "Najít více", + NotShow: "Nezobrazovat znovu", + ConfirmNoShow: "Potvrdit zakázání?Můžete jej povolit později v nastavení.", +}, + + UI: { + Confirm: "Potvrdit", + Cancel: "Zrušit", + Close: "Zavřít", + Create: "Vytvořit", + Edit: "Upravit", }, }; diff --git a/app/locales/de.ts b/app/locales/de.ts index 7c0b94db..8cfe3be4 100644 --- a/app/locales/de.ts +++ b/app/locales/de.ts @@ -83,6 +83,7 @@ const de: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/en.ts b/app/locales/en.ts index ba648257..420f1690 100644 --- a/app/locales/en.ts +++ b/app/locales/en.ts @@ -82,6 +82,7 @@ const en: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/es.ts b/app/locales/es.ts index 9997752e..5f66071c 100644 --- a/app/locales/es.ts +++ b/app/locales/es.ts @@ -82,6 +82,7 @@ const es: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/index.ts b/app/locales/index.ts index 757c1719..e41dfcdf 100644 --- a/app/locales/index.ts +++ b/app/locales/index.ts @@ -8,6 +8,7 @@ import JP from "./jp"; import DE from "./de"; import VI from "./vi"; import RU from "./ru"; +import CS from "./cs"; export type { LocaleType } from "./cn"; @@ -22,6 +23,7 @@ export const AllLangs = [ "de", "vi", "ru", + "cs", ] as const; export type Lang = (typeof AllLangs)[number]; @@ -85,4 +87,5 @@ export default { de: DE, vi: VI, ru: RU, + cs: CS, }[getLang()] as typeof CN; diff --git a/app/locales/it.ts b/app/locales/it.ts index ddb85c94..f9daa7a3 100644 --- a/app/locales/it.ts +++ b/app/locales/it.ts @@ -82,6 +82,7 @@ const it: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/jp.ts b/app/locales/jp.ts index d34ee68a..526574b3 100644 --- a/app/locales/jp.ts +++ b/app/locales/jp.ts @@ -82,6 +82,7 @@ const jp: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "アバター", diff --git a/app/locales/ru.ts b/app/locales/ru.ts index dc0b149b..437a54b2 100644 --- a/app/locales/ru.ts +++ b/app/locales/ru.ts @@ -82,6 +82,7 @@ const ru: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Аватар", diff --git a/app/locales/tr.ts b/app/locales/tr.ts index 80d2bae7..42c3f78e 100644 --- a/app/locales/tr.ts +++ b/app/locales/tr.ts @@ -82,6 +82,7 @@ const tr: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Avatar", diff --git a/app/locales/tw.ts b/app/locales/tw.ts index ba54e835..a8dbf91a 100644 --- a/app/locales/tw.ts +++ b/app/locales/tw.ts @@ -80,6 +80,7 @@ const tw: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "大頭貼", diff --git a/app/locales/vi.ts b/app/locales/vi.ts index 516f5792..d3be6105 100644 --- a/app/locales/vi.ts +++ b/app/locales/vi.ts @@ -82,6 +82,7 @@ const vi: LocaleType = { de: "Deutsch", vi: "Vietnamese", ru: "Русский", + cs: "Čeština", }, }, Avatar: "Ảnh đại diện", From 960aa90c32fa9c1355ab0543f100e81bf508d54e Mon Sep 17 00:00:00 2001 From: PaRaD1SE98 Date: Wed, 10 May 2023 14:09:30 +0000 Subject: [PATCH 07/12] =?UTF-8?q?=E4=BC=98=E5=8C=96Select=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/ui-lib.module.scss | 2 +- app/components/ui-lib.tsx | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/components/ui-lib.module.scss b/app/components/ui-lib.module.scss index 6296c908..e0806d22 100644 --- a/app/components/ui-lib.module.scss +++ b/app/components/ui-lib.module.scss @@ -209,6 +209,7 @@ max-width: fit-content; .select-with-icon-select { + height: 100%; border: var(--border-in-light); padding: 10px 25px 10px 10px; border-radius: 10px; @@ -217,7 +218,6 @@ background-color: var(--white); color: var(--black); text-align: center; - position: relative; } .select-with-icon-icon { diff --git a/app/components/ui-lib.tsx b/app/components/ui-lib.tsx index 935f0f93..5687b1c5 100644 --- a/app/components/ui-lib.tsx +++ b/app/components/ui-lib.tsx @@ -254,11 +254,8 @@ export function Select( ) { const { className, children, ...otherProps } = props; return ( -
- {children} From c87eee1fdaecc725844d1df81f9cef18e9c6f3cc Mon Sep 17 00:00:00 2001 From: Petr Branberger <51099204+pBrambi@users.noreply.github.com> Date: Wed, 10 May 2023 16:33:22 +0200 Subject: [PATCH 08/12] Fixed typo syntax error --- app/locales/cs.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/locales/cs.ts b/app/locales/cs.ts index 0446fb1e..ab9b39a5 100644 --- a/app/locales/cs.ts +++ b/app/locales/cs.ts @@ -199,7 +199,7 @@ const cs: LocaleType = { Mask: { Name: "Maska", Page: { - Title: "Šablona pokynu"", + Title: "Šablona pokynu", SubTitle: (count: number) => `${count} šablon pokynů`, Search: "Hledat v šablonách", Create: "Vytvořit", @@ -239,7 +239,7 @@ const cs: LocaleType = { Close: "Zavřít", Create: "Vytvořit", Edit: "Upravit", - }, + } }; export default cs; From cbb50c14e1fd8513d3b89cf958a12e5499a1cd01 Mon Sep 17 00:00:00 2001 From: "ShengYan, Zhang" Date: Thu, 11 May 2023 15:42:32 +0800 Subject: [PATCH 09/12] fix: bug #1413 input '/' when clicking icon to open prompt modal --- app/components/chat.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/app/components/chat.tsx b/app/components/chat.tsx index 54def01c..d4767311 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -790,6 +790,7 @@ export function Chat() { hitBottom={hitBottom} showPromptHints={() => { inputRef.current?.focus(); + setUserInput("/"); onSearch(""); }} /> From 7bf74c6a5d07e5746a1299b61a3cac1bd08ec416 Mon Sep 17 00:00:00 2001 From: "ShengYan, Zhang" Date: Thu, 11 May 2023 16:08:34 +0800 Subject: [PATCH 10/12] fix: bug #1413 cmd/alt/ctrl should be checked for arrowUp events --- app/components/chat.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/components/chat.tsx b/app/components/chat.tsx index d4767311..10f7c002 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -230,7 +230,9 @@ export function PromptHints(props: { useEffect(() => { const onKeyDown = (e: KeyboardEvent) => { if (noPrompts) return; - + if (e.metaKey || e.altKey || e.ctrlKey) { + return; + } // arrow up / down to select prompt const changeIndex = (delta: number) => { e.stopPropagation(); @@ -491,7 +493,11 @@ export function Chat() { // check if should send message const onInputKeyDown = (e: React.KeyboardEvent) => { // if ArrowUp and no userInput, fill with last input - if (e.key === "ArrowUp" && userInput.length <= 0) { + if ( + e.key === "ArrowUp" && + userInput.length <= 0 && + !(e.metaKey || e.altKey || e.ctrlKey) + ) { setUserInput(localStorage.getItem(LAST_INPUT_KEY) ?? ""); e.preventDefault(); return; From ec19b86ade04857bf339b26c853f27b0ba2688a8 Mon Sep 17 00:00:00 2001 From: liyuze Date: Thu, 11 May 2023 18:29:25 +0800 Subject: [PATCH 11/12] fix: click the prompt button to hide hints when it's already shown --- app/components/chat.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/components/chat.tsx b/app/components/chat.tsx index 54def01c..9363966c 100644 --- a/app/components/chat.tsx +++ b/app/components/chat.tsx @@ -789,6 +789,12 @@ export function Chat() { scrollToBottom={scrollToBottom} hitBottom={hitBottom} showPromptHints={() => { + // Click again to close + if (promptHints.length > 0) { + setPromptHints([]); + return; + } + inputRef.current?.focus(); onSearch(""); }} From 36adfe87fb965120a208df907a609ec235437d06 Mon Sep 17 00:00:00 2001 From: Yidadaa Date: Thu, 11 May 2023 23:21:16 +0800 Subject: [PATCH 12/12] fix: #1401 try to disable zoom --- app/layout.tsx | 7 ++++--- app/requests.ts | 2 +- app/store/access.ts | 4 ++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/layout.tsx b/app/layout.tsx index c56341ab..f2e765ae 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -13,7 +13,7 @@ export const metadata = { title: "ChatGPT Next Web", statusBarStyle: "default", }, - themeColor: "#fafafa", + viewport: "width=device-width, initial-scale=1, maximum-scale=1", }; export default function RootLayout({ @@ -25,8 +25,9 @@ export default function RootLayout({ = {}; diff --git a/app/store/access.ts b/app/store/access.ts index 79b7b990..4e870b61 100644 --- a/app/store/access.ts +++ b/app/store/access.ts @@ -1,6 +1,7 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; import { StoreKey } from "../constant"; +import { getHeaders } from "../requests"; import { BOT_HELLO } from "./chat"; import { ALL_MODELS } from "./config"; @@ -55,6 +56,9 @@ export const useAccessStore = create()( fetch("/api/config", { method: "post", body: null, + headers: { + ...getHeaders(), + }, }) .then((res) => res.json()) .then((res: DangerConfig) => {