From f606a61e1c9127f7f1c4128d0361a90ced9cde69 Mon Sep 17 00:00:00 2001 From: ilarioscandurra Date: Sun, 2 Apr 2023 19:23:50 +0200 Subject: [PATCH 1/3] Update: locales in Italian --- app/locales/cn.ts | 1 + app/locales/en.ts | 1 + app/locales/es.ts | 1 + app/locales/index.ts | 7 +- app/locales/it.ts | 159 +++++++++++++++++++++++++++++++++++++++++++ app/locales/tw.ts | 1 + 6 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 app/locales/it.ts diff --git a/app/locales/cn.ts b/app/locales/cn.ts index 66436e12..59a33a40 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -58,6 +58,7 @@ const cn = { en: "English", tw: "繁體中文", es: "Español", + it: "Italiano", }, }, Avatar: "头像", diff --git a/app/locales/en.ts b/app/locales/en.ts index 55884308..1a9acc32 100644 --- a/app/locales/en.ts +++ b/app/locales/en.ts @@ -60,6 +60,7 @@ const en: LocaleType = { en: "English", tw: "繁體中文", es: "Español", + it: "Italiano", }, }, Avatar: "Avatar", diff --git a/app/locales/es.ts b/app/locales/es.ts index a78bf1aa..e26a5e10 100644 --- a/app/locales/es.ts +++ b/app/locales/es.ts @@ -60,6 +60,7 @@ const es: LocaleType = { en: "Inglés", tw: "繁體中文", es: "Español", + it: "Italiano", }, }, Avatar: "Avatar", diff --git a/app/locales/index.ts b/app/locales/index.ts index bcd06c9c..5c41eeb7 100644 --- a/app/locales/index.ts +++ b/app/locales/index.ts @@ -2,10 +2,11 @@ import CN from "./cn"; import EN from "./en"; import TW from "./tw"; import ES from "./es"; +import IT from "./it"; export type { LocaleType } from "./cn"; -export const AllLangs = ["en", "cn", "tw", "es"] as const; +export const AllLangs = ["en", "cn", "tw", "es", "it"] as const; type Lang = (typeof AllLangs)[number]; const LANG_KEY = "lang"; @@ -47,6 +48,8 @@ export function getLang(): Lang { return "tw"; } else if (lang.includes("es")) { return "es"; + } else if (lang.includes("it")) { + return "it"; } else { return "en"; } @@ -57,4 +60,4 @@ export function changeLang(lang: Lang) { location.reload(); } -export default { en: EN, cn: CN, tw: TW, es: ES }[getLang()]; +export default { en: EN, cn: CN, tw: TW, es: ES, it: IT }[getLang()]; diff --git a/app/locales/it.ts b/app/locales/it.ts new file mode 100644 index 00000000..6bfff42d --- /dev/null +++ b/app/locales/it.ts @@ -0,0 +1,159 @@ +import { SubmitKey } from "../store/app"; +import type { LocaleType } from "./index"; + +const it: LocaleType = { + WIP: "Work in progress...", + Error: { + Unauthorized: + "Accesso non autorizzato, inserire il codice di accesso nella pagina delle impostazioni.", + }, + ChatItem: { + ChatItemCount: (count: number) => `${count} messaggi`, + }, + Chat: { + SubTitle: (count: number) => `${count} messaggi con ChatGPT`, + Actions: { + ChatList: "Vai alla Chat List", + CompressedHistory: "Prompt di memoria della cronologia compressa", + Export: "Esportazione di tutti i messaggi come Markdown", + Copy: "Copia", + Stop: "Stop", + Retry: "Riprova", + }, + Rename: "Rinomina Chat", + Typing: "Typing…", + Input: (submitKey: string) => { + var inputHints = `Scrivi qualcosa e premi ${submitKey} per inviare`; + if (submitKey === String(SubmitKey.Enter)) { + inputHints += ", premi Shift + Enter per andare a capo"; + } + return inputHints; + }, + Send: "Invia", + }, + Export: { + Title: "Tutti i messaggi", + Copy: "Copia tutto", + Download: "Scarica", + }, + Memory: { + Title: "Prompt di memoria", + EmptyContent: "Vuoto.", + Copy: "Copia tutto", + }, + Home: { + NewChat: "Nuova Chat", + DeleteChat: "Confermare la cancellazione della conversazione selezionata?", + }, + Settings: { + Title: "Impostazioni", + SubTitle: "Tutte le impostazioni", + Actions: { + ClearAll: "Cancella tutti i dati", + ResetAll: "Resetta tutte le impostazioni", + Close: "Chiudi", + }, + Lang: { + Name: "Lingue", + Options: { + cn: "简体中文", + en: "English", + tw: "繁體中文", + es: "Español", + it: "Italiano", + }, + }, + Avatar: "Avatar", + FontSize: { + Title: "Dimensione carattere", + SubTitle: "Regolare la dimensione dei caratteri del contenuto della chat", + }, + Update: { + Version: (x: string) => `Versione: ${x}`, + IsLatest: "Ultima versione", + CheckUpdate: "Controlla aggiornamenti", + IsChecking: "Sto controllando gli aggiornamenti...", + FoundUpdate: (x: string) => `Trovata nuova versione: ${x}`, + GoToUpdate: "Aggiorna", + }, + SendKey: "Tasto invia", + Theme: "tema", + TightBorder: "Bordi stretti", + SendPreviewBubble: "Invia l'anteprima della bolla", + Prompt: { + Disable: { + Title: "Disabilita l'auto completamento", + SubTitle: "Input / per attivare il completamento automatico", + }, + List: "Elenco dei suggerimenti", + ListCount: (builtin: number, custom: number) => + `${builtin} built-in, ${custom} user-defined`, + Edit: "Modifica", + }, + HistoryCount: { + Title: "Conteggio dei messaggi allegati", + SubTitle: "Numero di messaggi inviati allegati per richiesta", + }, + CompressThreshold: { + Title: "Soglia di compressione della cronologia", + SubTitle: + "Comprimerà se la lunghezza dei messaggi non compressi supera il valore", + }, + Token: { + Title: "Chiave API", + SubTitle: + "Utilizzare la chiave per ignorare il limite del codice di accesso", + Placeholder: "OpenAI API Key", + }, + Usage: { + Title: "Bilancio Account", + SubTitle(granted: any, used: any) { + return `Totale $${granted}, Usato $${used}`; + }, + IsChecking: "Controllando...", + Check: "Controlla ancora", + }, + AccessCode: { + Title: "Codice d'accesso", + SubTitle: "Controllo d'accesso abilitato", + Placeholder: "Inserisci il codice d'accesso", + }, + Model: "Modello GPT", + Temperature: { + Title: "Temperature", + SubTitle: "Un valore maggiore rende l'output più casuale", + }, + MaxTokens: { + Title: "Token massimi", + SubTitle: "Lunghezza massima dei token in ingresso e dei token generati", + }, + PresencePenlty: { + Title: "Penalità di presenza", + SubTitle: + "Un valore maggiore aumenta la probabilità di parlare di nuovi argomenti", + }, + }, + Store: { + DefaultTopic: "Nuova conversazione", + BotHello: "Ciao, come posso aiutarti oggi?", + Error: "Qualcosa è andato storto, riprova più tardi.", + Prompt: { + History: (content: string) => + "Questo è un riassunto della cronologia delle chat tra l'IA e l'utente:" + + content, + Topic: + "Si prega di generare un titolo di quattro o cinque parole che riassuma la nostra conversazione senza alcuna traccia, punteggiatura, virgolette, punti, simboli o testo aggiuntivo. Rimuovere le virgolette", + Summarize: + "Riassumi brevemente la nostra discussione in 50 caratteri o meno per usarla come spunto per una futura conversazione.", + }, + ConfirmClearAll: + "Confermi la cancellazione di tutti i dati della chat e delle impostazioni?", + }, + Copy: { + Success: "Copiato sugli appunti", + Failed: + "Copia fallita, concedere l'autorizzazione all'accesso agli appunti", + }, +}; + +export default it; diff --git a/app/locales/tw.ts b/app/locales/tw.ts index 7137e884..e136032d 100644 --- a/app/locales/tw.ts +++ b/app/locales/tw.ts @@ -59,6 +59,7 @@ const tw: LocaleType = { en: "English", tw: "繁體中文", es: "Español", + it: "Italiano", }, }, Avatar: "大頭貼", From f9f29afba91dc79e16ce86ede39cca254c78ef0c Mon Sep 17 00:00:00 2001 From: ilarioscandurra Date: Sun, 2 Apr 2023 20:32:43 +0200 Subject: [PATCH 2/3] Update: locales in Italian --- app/locales/it.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/locales/it.ts b/app/locales/it.ts index 6bfff42d..8c4e0123 100644 --- a/app/locales/it.ts +++ b/app/locales/it.ts @@ -107,8 +107,8 @@ const it: LocaleType = { }, Usage: { Title: "Bilancio Account", - SubTitle(granted: any, used: any) { - return `Totale $${granted}, Usato $${used}`; + SubTitle(used: any) { + return `Usato in questo mese $${used}`; }, IsChecking: "Controllando...", Check: "Controlla ancora", @@ -144,7 +144,7 @@ const it: LocaleType = { Topic: "Si prega di generare un titolo di quattro o cinque parole che riassuma la nostra conversazione senza alcuna traccia, punteggiatura, virgolette, punti, simboli o testo aggiuntivo. Rimuovere le virgolette", Summarize: - "Riassumi brevemente la nostra discussione in 50 caratteri o meno per usarla come spunto per una futura conversazione.", + "Riassumi brevemente la nostra discussione in 200 caratteri o meno per usarla come spunto per una futura conversazione.", }, ConfirmClearAll: "Confermi la cancellazione di tutti i dati della chat e delle impostazioni?", @@ -154,6 +154,11 @@ const it: LocaleType = { Failed: "Copia fallita, concedere l'autorizzazione all'accesso agli appunti", }, + Context: { + Toast: (x: any) => `Con ${x} prompts contestuali`, + Edit: "Prompt contestuali e di memoria", + Add: "Aggiungi altro", + }, }; export default it; From 6f82140ba5ffaa91152276821d750f5af9a17681 Mon Sep 17 00:00:00 2001 From: Yifei Zhang Date: Mon, 3 Apr 2023 13:37:55 +0800 Subject: [PATCH 3/3] Update README.md --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 815aba1a..ca71c996 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,9 @@ One-Click to deploy your own ChatGPT web UI. - 前往 vercel 控制台,删除掉原先的 project,然后新建 project,选择你刚刚 fork 出来的项目重新进行部署即可; - 在重新部署的过程中,请手动添加名为 `OPENAI_API_KEY` 的环境变量,并填入你的 api key 作为值。 -本项目会持续更新,如果你想让代码库总是保持更新,可以查看 [Github 的文档](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) 了解如何让 fork 的项目与上游代码同步,建议定期进行同步操作以获得新功能。 +本项目会持续更新,当你 Fork 项目之后,默认会每天自动同步上游代码,无需额外操作。 + +如果你想让手动立即更新,可以查看 [Github 的文档](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) 了解如何让 fork 的项目与上游代码同步。 你可以 star/watch 本项目或者 follow 作者来及时获得新功能更新通知。 @@ -87,7 +89,9 @@ We recommend that you follow the steps below to re-deploy: - Go to the Vercel dashboard, delete the original project, then create a new project and select the project you just forked to redeploy; - Please manually add an environment variable named `OPENAI_API_KEY` and enter your API key as the value during the redeploy process. -This project will be continuously maintained. If you want to keep the code repository up to date, you can check out the [Github documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to learn how to synchronize a forked project with upstream code. It is recommended to perform synchronization operations regularly. +This project will be continuously updated, and after forking the project, the upstream code will be automatically synchronized every day without additional operations. + +If you want to update instantly, you can check out the [Github documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) to learn how to synchronize a forked project with upstream code. You can star or watch this project or follow author to get release notifictions in time.